(1) 客户端sqlserver网络接口通过一种网络协议(可以是共享内存:简单高速,客户端和sql server在同一台计算机默认连接方式;TCP/IP:访问sql server最常用的一种协议,客户端指定ip地址和端口号连接到sql server;命名管道:命名管道和TCP/IP协议在体系结构上是类似的,是为局域网设计的,在广域网中速度会慢一些;VIA:虚拟接口适配器,是一种可以让两个系统进行高性能通信的协议,要求通信两端使用特殊的硬件和专门连接)和服务的的SNI建立了一个连接,然后通过网络协议连接和TDS端口创建一个连接,并且通过这个连接想sqlserver以TDS消息的形式发送select语句。

(2)sql server的SNI将TDS消息解包,读取select语句,然后将这个sql命令发送到命令解析器。

(3)命令解析器在缓冲池的计划缓存中检查是否已经存在了一条与接收到的语句匹配且可用的查询计划,如果找不到,命令解析器则基于select语句生成一个查询树,然后将查询树传递给查询优化器,让其生成查询计划。

(4)由于这条查询命令非常简单,查询优化器只是在预优化阶段就生成了“零开销”的查询计划(即“普通查询计划”),查询优化器将创建出来的查询计划发送给查询执行器执行。

(5)查询执行器在执行查询计划的时候,首先确定完成这个查询计划需要读取什么数据,然后通过OLE DB接口向存储引擎中的访问方法发送访问数据请求。

(6)为了完成查询执行器的请求,访问方法需要从数据库中读取一个数据页面,并要求缓冲区管理器提供这个数据页面。

(7)缓冲区管理器在数据缓存中检查这个数据页面是否存在,如果这个页面在数据缓存中不存在,缓冲区管理器首先从磁盘上获取这个数据页面,然后将它存入缓存,并传回给访问方法。

(8)最后,访问方法将结果集传递给关系引擎,由关系引擎将结果集发送给客户端。

转载于:https://www.cnblogs.com/wjszxli/p/3901463.html

基本select语句的生命周期相关推荐

  1. Hibernate→HQL、query.list()返回数据类型、查询相关语句、分页、原生SQL、@注解、持久化对象状态及生命周期、一多关系、继承映射关系、逆向工程

    HQL Query实例与表 session通用工具类 Query对象 from 类→List<类>接收 映射类 仅查询商品 查询商品及所在商家 别名 返回数据类型定义 Iterator接收 ...

  2. JPA教程:JPA概述、JPA实体生命周期、JPA实体映射关系、JPA查询语言

    JPA定义了Java ORM及实体操作API的标准.本文摘录了JPA的一些关键信息以备查阅. 如果有hibernate的基础,通过本文也可以快速掌握JPA的基本概念及使用. 1 JPA概述 JPA(J ...

  3. er图用什么软件_从软件开发生命周期看商业智能 BI 数据仓库建模

    关于商业智能 BI 的介绍面对不同的企业客户可以从很多不同的角度展开,比如从业务角度.管理角度.数据架构角度.IT 信息化建设角度.BI 实施方法论角度等,不同的视角可以帮助企业更加全面的了解商业智能 ...

  4. mysql 索引生命周期_MYSQL 索引(一)--- 简介

    简介 Mysql 官方定义 : 索引(Index) 是帮助 Mysql 高效获取数据的数据结构. 索引的目的在于提交查询效率,可以类比字典.简单理解为 "排好序的快读查找数据结构" ...

  5. 4.事务提交过程,事务基本概念,Oracle中的事务生命周期,保存点savepoint,数据库的隔离级别

     事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功,要么都失败 事务的隔离性:多个客户端同时操作数据库的时候,要隔离它们的操作, 否则出现:脏读  不可重复读  幻 ...

  6. [原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定...

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. hexeditor 复制二进制值_MySQL复制全解析 Part 6 MySQL GTID 生命周期

    实验环境 此次实验的环境如下 MySQL 5.7.25 Redhat 6.10 操作系统账号:mysql 数据库复制账号:repl 复制格式:基于行的复制 通过前面的介绍我们知道MySQL的复制有两种 ...

  8. mysql序列号生成_超详细的mysql数据库GTID介绍—概念、优缺点、原理、生命周期等

    概述 这几天就简单介绍一下GTID好了~这篇是概念篇.. 从MySQL 5.6.5 开始新增了一种基于 GTID 的复制方式.通过 GTID 保证了每个在主库上提交的事务在集群中有一个唯一的ID.这种 ...

  9. vue- Vue-Cli脚手架工具安装 -创建项目-页面开发流程-组件生命周期-03

    目录 本博客环境 Vue-Cli 项目环境搭建 与 python 基础环境对比 环境搭建 创建启动 vue 项目 命令创建项目(步骤小多) 启动 vue 项目(命令行方式) 启动 vue 项目(pyc ...

最新文章

  1. Linux route命令详解和使用示例(查看和操作IP路由表)
  2. 070901css基础知识
  3. mybatis学习(53):构造方法映射
  4. Confluence 6 在 Apache 或者系统级别阻止垃圾
  5. idea运行maven:No URLs will be polled as dynamic configuration sources
  6. 社交礼仪与口才艺术 艾跃进
  7. SlickEdit使用 .
  8. 什么是电子商务——百科
  9. 2021年全新大数据学习路线图,(含入门到精通项目学习免费教程哦)
  10. 蓝墨云班课在计算机应用基础的教学,蓝墨云班课在高职《计算机应用基础》教学改革中的应用研究...
  11. 面试官最爱提的问题TOP10来自:北京人才市场报
  12. QP/区块链服务器被攻击了怎么办?
  13. 计算机专业的高级称呼,软考高级和中级全称~~
  14. 如何将Oracle11g卸载干净
  15. 串流直播流媒体视频发布平台功能模块和产品技术参数
  16. linux数据库云盘备份,linux定时备份本地文件或数据库到百度云盘bypy
  17. 如何高效地使用搜索引擎?
  18. unity3d坑收集
  19. flash 与分解 分解百度MP3图片墙
  20. 一篇文章带你了解大数据生态圈---大数据组件图谱

热门文章

  1. highcharts一天时间 与一周时间_一天当中什么时间减肥降重最好的
  2. 【Mybatis】分割字符串
  3. 光纤通道速率查看_基于OM3/OM4的光纤通道连接方案
  4. 遨博机器人执行线程_智造洞察 | 遨博机器人推出国内首条“用机器人生产机器人”产线;服务机器人等助力8月经济回升;浙江企业研发飞机发动机榫槽数控拉床...
  5. dijkstra算法c++_Matlab 二维模拟退火算法最优路径(主程序)
  6. 商品规格js_品优购电商系统开发 第3章 规格及模板管理
  7. 路径前缀是什么意思_Trie 树是什么样的数据结构?有哪些应用场景?
  8. linux shell的二级菜单,linux shell编程之菜单选择(一)
  9. plt生成固定的colormap_白话生成对抗网络GAN及代码实现
  10. 矩阵的秩到底描述了什么?