T-SQL查询高级 SQL Server索引中的碎片和填充因子 word文档 doc格式

  • 书籍大小:297KB
  • 书籍语言:简体中文
  • 书籍类型:国产软件
  • 书籍授权:免费软件
  • 书籍类别:sqlserver
  • 应用平台:DOC
  • 更新时间:2012-08-15
  • 购买链接:
  • 网友评分:
360通过 腾讯通过 金山通过

情介绍

T-SQL查询高级—SQL Server索引中的碎片和填充因子
写在前面:本篇文章需要你对索引和SQL中数据的存储方式有一定了解.标题中高级两个字仅仅是因为本篇文章需要我的T-SQL进阶系列文章的一些内容作为基础.
简介
________________________________________
在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构(表上没有聚集索引则为堆结构,不在本文讨论之列)如下图:
在聚集索引B树中,只有叶子节点实际存储数据,而其他根节点和中间节点仅仅用于存放查找叶子节点的数据.
每一个叶子节点为一页,每页是不可分割的. 而SQL Server向每个页内存储数据的最小单位是表的行(Row).当叶子节点中新插入的行或更新的行使得叶子节点无法容纳当前更新或者插入的行时,分页就产生了.在分页的过程中,就会产生碎片.
理解外部碎片
________________________________________
首先,理解外部碎片的这个“外”是相对页面来说的。外部碎片指的是由于分页而产生的碎片.比如,我想在现有的聚集索引中插入一行,这行正好导致现有的页空间无法满足容纳新的行。从而导致了分页:
因为在SQL SERVER中,新的页是随着数据的增长不断产生的,而聚集索引要求行之间连续,所以很多情况下分页后和原来的页在磁盘上并不连续.
这就是所谓的外部碎片.
由于分页会导致数据在页之间的移动,所以如果插入更新等操作经常需要导致分页,则会大大提升IO消耗,造成性能下降.
而对于查找来说,在有特定搜索条件,比如where子句有很细的限制或者返回无序结果集时,外部碎片并不会对性能产生影响。但如果要返回扫描聚集索引而查找连续页面时,外部碎片就会产生性能上的影响.
在SQL Server中,比页更大的单位是区(Extent).一个区可以容纳8个页.区作为磁盘分配的物理单元.所以当页分割如果跨区后,需要多次切区。需要更多的扫描.因为读取连续数据时会不能预读,从而造成额外的物理读,增加磁盘IO.

载地址

下载错误?【投诉报错】

T-SQL查询高级 SQL Server索引中的碎片和填充因子 word文档 doc格式

      气书籍

      载声明

      ☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
      ☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
      ☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
      ☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
      ☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
      ☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
      ☉ 本站提供的T-SQL查询高级 SQL Server索引中的碎片和填充因子 word文档 doc格式资源来源互联网,版权归该下载资源的合法拥有者所有。