加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

浅谈SQL Server内部运行机制

发布时间:2019-01-27 18:36:54 所属栏目:MySql教程 来源:Alan_beijing
导读:副标题#e# 对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说,逻辑的增删改查,或者较复杂的SQL语句,都是非常简单的,不存在任何挑战,不值得一提,那么,SQL的哪些方面是他们的挑战 或者软肋呢? 那就是sql优化。然而,要想成为一个好的Sql优化高手,

(3)事务管理器:主要负责事务的管理(ACID管理)和高并发管理(锁),它包括两个核心组件(日志管理器和锁管理器),锁管理器负责提供并发数据访问,设置隔离级别等;日志管理器负责记录所有访问方法操作动作,如基本的CRUD。

(五)缓冲池

浅谈SQL Server内部运行机制

缓冲池驻于内存中,是磁盘和缓冲区管理器的桥梁SQL Server中,所有资源的查询都是在内存中进行的,即在缓冲池中进行的,假若缓冲池接收到缓冲区管理器传递过来的的一条SQL语句:SELECT * FROM BigDataTest,缓冲区管理器数据缓存先从磁盘数据库中取满足条件的结果集,然后放在缓冲池数据缓冲中,然后以结果集的形式返回给缓冲区管理器,供访问方法返回给关系引擎的查询执行器,然后返回给协议层,协议层再返回给客户端。注意,这里操作的是缓冲池中数据,而不是磁盘DB中的数据,并且操作的缓冲池数据不会立即写入磁盘,因此就会造成查询到结果与BD中的结果不一致,这就是所谓的脏读。

缓冲池主要包括两部分:计划缓存(生成执行计划是非常耗时耗资源的,计划缓存主要用来存储执行计划,以备后续使用)和数据缓存(通常是缓存池中容量最大的,消耗内存最大,从磁盘中读取的数据页只要放在这里,方可调用)

(六)磁盘

浅谈SQL Server内部运行机制

磁盘主要是用来存储持久化资源的,如日志资源,数据库资源和缓存池持久化支援等。

三、一个查询的完整流程

如下为一个比较完善的查询过程,即第二部分查询语句:SELECT * FROM BigDataTest 整个过程。

浅谈SQL Server内部运行机制

四、参考文献

【01】《SQL Server 2012 深入解析与性能优化 第3版》Christian Bolton,Justin Langford,Glenn Berry,Gavin Payne,Amit Banerjee,Rob Farley著

【编辑推荐】

  1. 数据库大师成长日记:您最需要了解的NoSQL非关系型数据库
  2. 数据库大师成长日记:巧用SQL语句查看SQL Server的结构信息
  3. 数据库大师成长日记:如何在SQL Server查询中实现高效分页
  4. 数据库大师成长日记:巧用SQL语句,小技巧解决大问题!
  5. 数据库的“行式存储”和“列式存储”
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读