SQL Server查询调优:内部结构与索引机制深度解析
1. 引言
在数据库操作中,查询调优是提升性能的关键环节。SQL作为标准化语言,在不同数据库平台上核心元素相似,但物理层实现差异较大。要做好查询调优,需深入了解所使用平台的物理层。本文聚焦于Microsoft SQL Server平台,探讨其物理层的各个方面,为查询调优奠定基础。
2. 查询调优基础
要进行查询调优,需分析查询执行计划,并参考不同性能工具提供的性能指标。关键在于识别执行计划中哪些操作占用大量资源,并将性能指标与这些操作关联起来,然后尝试消除或减少这些高负载操作。
为理解查询执行计划,需熟悉访问方法;而要掌握访问方法,就必须了解SQL Server使用的内部数据结构。
3. SQL Server内部数据结构
3.1 页面和扩展区
- 页面(Page) :是SQL Server存储数据的8KB单位,对于基于磁盘的表,它是最小的I/O单位。页面头部96字节包含分配单元、前后页指针、空闲空间等信息。数据和索引页面的主体存储数据或索引记录,页面末尾的行偏移数组指向各个记录。
- 扩展区(Extent) :由八个连续页面组成。SQL Server支持混合和统一两种扩展区。新对象最初从混合扩展区一次分配一个页面,达到8页大小时,后续从统一扩展区分配。SQL Server使用共享全局分配映射(SGAMs)和全局分配映射(GAMs)来跟踪扩展区的分配情况。
SQL Server索引与查询优化
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



