SQL Server 查询处理过程

news2024/12/25 15:04:55

查询处理--由 SQL Server 中的关系引擎执行,它获取编写的 T-SQL 语句并将其转换为可以向存储引擎发出请求并检索所需结果的过程。

SQL Server 需要四个步骤来处理查询:分析、代化、优化和执行。

前三个步骤都由关系引擎执行;第三步输出的是优化计划,在此期间,将调用存储引擎以检索将成为正在执行的查询结果数据。

C 05f 001

解析在分析阶段,SQL Server 对源代码(T-SQL 语句)执行基本检查。此分析查找无效的 SQL 语法,例如不正确地使用保留字、列名和表名等。 如果解析完成且没有错误,它将生成一个解析树,该树将传递到查询处理的下一阶段,即绑定。解析树是查询的内部表示形式。如果分析检测到任何错误,进程将停止并返回错误。

代化阶段也称为绑定阶段。在早期版本的 SQL Server 中,此阶段称为规范化。在代化过程中,SQL Server 对分析树执行多个操作,然后生成传递查询树给查询优化器。 代化期间执行的步骤遵循以下模型:

  • 步骤 1:名称解析 — 确认所有对象都存在并在用户的安全上下文中可见。这是检查表和列名称以确保它们存在并且用户有权访问它们的位置。
  • 步骤 2:类型派生 — 确定解析树中每个节点最终类型
  • 步骤 3:聚合绑定 — 确定在何处进行任何聚合
  • 步骤 4: 组绑定 — 将任何聚合绑定到相应的选择列表

在此阶段检测到语法错误。如果遇到语法错误,优化过程将停止,并将错误返回给用户。


喜欢的话,请收藏 | 关注!
万一有趣的事还在后头呢!
42CF4001.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1322326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文解释JS如何获取当前系统电量

在前端浏览器中我们可以通过使用JavaScript的navigator.getBattery()方法来获取当前系统的电池情况。 这个API可以监测设备的电池状态,包括是否在充电、当前电量以及放电或充电所需的时间。本文将介绍如何使用这个API以及它在实际应用中的使用。 API使用 首先让我…

SD-WAN组网:企业网络的首选

在互联网技术不断更新、发展的背景之下,企业在面对日益复杂的网络组网需求时迫切需要一种创新的解决方案。传统的MPLS-VPN组网方式由于其高成本的特点令企业难以破局, SD-WAN正逐渐代替它们,成为企业网络组网的首选。 本文将深入探讨SD-WAN技…

广州华锐互动VRAR:利用VR开展新能源汽车触电安全演练,降低培训成本和风险

随着新能源汽车行业的快速发展,相关的安全培训也变得越来越重要。其中,触电急救培训对于保障驾驶员和乘客的安全具有重要意义。传统培训方式存在一些不足,而利用VR技术进行培训则具有很多优势。 利用VR技术开展新能源汽车触电安全演练可以在模…

电脑风扇控制软件Macs Fan Control mac支持多个型号

Macs Fan Control mac是一款专门为 Mac 用户设计的软件,它可以帮助用户控制和监控 Mac 设备的风扇速度和温度。这款软件允许用户手动调整风扇速度,以提高设备的散热效果,减少过热造成的风险。 Macs Fan Control 可以在菜单栏上显示当前系统温…

linux | sed 命令使用 | xargs命令 使用

##################################################### sed命令来自英文词组stream editor的缩写,其功能是利用语法/脚本对文本文件进行批量的编辑操作。sed命令最初由贝尔实验室开发,后被众多Linux系统集成,能够通过正则表达式对文件进行批…

Mysql利用备份数据恢复单表

1、说明 之前的备份是使用Xtrabackup8做的备份 使用了独立表空间(innodb_file_per_table1),就可以单独恢复这个表。 2、在备份的目录下执行Prepare 根据自己之前备份的目录,选择执行路径 我之前的备份目录是 /tmp/backup/2023-12-16/full cd /tmp/…

虾皮 选品:如何在虾皮平台上进行有效的选品?

在虾皮(Shopee)这个跨境电商平台上,选品对于卖家来说至关重要。选品决定了店铺的销售额和竞争力。为了帮助卖家进行选品,虾皮平台提供了一些免费的选品工具,如知虾。同时,还有一些第三方选品工具&#xff0…

全国县级行政区点位数据,Shp+excel格式

基本信息. 数据名称: 县级行政区点位 数据格式: Shpexcel 数据时间: 2021年 数据几何类型: 点 数据坐标系: WGS84坐标系 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1xzqhdm_1省代码2xzqhmc_1省名称3xzqhdm_2市代码4xzqhmc_2市代…

pycharm设置自定义的代码颜色

1.最快的方法,选一个自己喜欢的主题,再对细节进行修改,操作如下,file->setting->Editor->ColorScheme->Language Defaults->Scheme。 在选好的主题上自定义自己喜欢的代码颜色,这里本人将自己自定义的函…

文献速递:生成对抗网络医学影像中的应用——基于生成对抗网络的医学图像处理:系统综述

本周给大家分享文献的主题是生成对抗网络(Generative adversarial networks, GANs)在医学影像中的应用。文献的研究内容包括同模态影像生成、跨模态影像生成、GAN在分类和分割方面的应用等。生成对抗网络与其他方法相比展示出了优越的数据生成能力&#…

你是无醇葡萄酒的爱好者吗?

不含酒精的蒸馏酒和起泡酒正在流行,尽管它们是葡萄酒市场中最小的细分市场之一,但需求和供应都在稳步增长。这是因为,和啤酒一样,消费者越来越多地询问无醇葡萄酒。 来自云仓酒庄品牌雷盛红酒分享不含酒精的酒好喝吗?尼…

Flink实时电商数仓(二)

GitLab的用户创建和推送 在root用户-密码界面重新设置密码添加Leader用户和自己使用的用户使用root用户创建相应的群组使用Leader用户创建对应的项目设置分支配置为“初始推送后完全保护”设置.gitignore文件,项目配置文件等其他非通用代码无需提交安装gitlab proj…

【python VS vba】(9) 在python使用matplotlib库来画多个图形,子图,以及图中图

2 用matplotlib 画多个函数图形 2.1 在一个画布里画多个图形 (1张画布,1个坐标轴系,多个图形叠在一起) import numpy as np import matplotlib.pyplot as pltfig1plt.figure(num1)xnp.linspace(-5,5, 10) yx*21 y2x**2# 绘图 p…

人工智能在约会APP开发中的作用

约会APP已成为当今技术世界中结识人们的流行方式。这意味着您不必要求您的朋友去见某人约会。简而言之,技术改善了约会过程,而人工智能在约会APP开发中的兴起极大地影响了人们今天的约会方式。 在约会APP中使用人工智能技术可以改善个人寻找完美匹配对象…

基于hfl/rbt3模型的情感分析学习研究——文本挖掘

参考书籍《HuggingFace自然语言处理详解 》 什么是文本挖掘 文本挖掘(Text mining)有时也被称为文字探勘、文本数据挖掘等,大致相当于文字分析,一般指文本处理过程中产生高质量的信息。高质量的信息通常通过分类和预测来产生&…

基于Java SSM框架实现宠物医院信息管理系统项目【项目源码】

基于java的SSM框架实现宠物医院信息管理系统演示 java简介 Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言…

一键修复找不到msvcp140.dll无法继续执行代码的办法,有效修复

电脑出现“找不到msvcp140.dll无法继续执行代码”是什么情况?如果系统中没有这个文件或文件发生损坏,那么在启动某些应用程序或游戏时,可能会遇到错误消息,如“程序无法启动因为msvcp140.dll丢失在您的计算机上”或“找不到msvcp1…

CPU缓存一致性问题

什么是可见性问题? Further Reading :什么是可见性问题? 缓存一致性 内存一致性 内存可见性 顺序一致性区别 CPU缓存一致性问题 由于CPU缓存的出现,很好地解决了处理器与内存速度之间的矛盾,极大地提高了CPU的吞吐能…

luttuce(RedisTempate)实现hash(动态数据) expire lua脚本

话不多说先放脚本: local argv ARGV local length #argv if length > 0 then local unpackArgs {} for i 1, length - 1 dotable.insert(unpackArgs, argv[i]) end if redis.call(exists, KEYS[1]) 1 thenredis.call(del, KEYS[1])redis.call(hset, KEYS[…

【ONE·English || 翻译作业 Development: Mendel‘s Legacy to Genetics】

总言 作业:没有严格按照语句结构进行翻译,有不规范之处。下述目录中每一小节是按照原文段落划分。   相关链接:pubmed中查阅的链接,提供了两处文章平台。 文章目录 总言part11.11.21.3 part2:Entwicklung and develo…