关于SQL Server 索引碎片的处理02

前文地址:http://blog.sina.com.cn/s/blog_517c21c00101fp27.html

三、实际运用

在官方文档中涉及到二十几列,但是实际上用不着关心那么多列,只需要查看几列的信息就足以了。


(1)、avg_fragmentation_in_percent

表示索引与堆的逻辑平均碎片百分比,

如果该值为10%-20%,碎片应该没有什么大问题;

如果该值为20%-40%,碎片有可能成为问题,可以通过索引重组来完成

如果该值为大于40%,可能要求索引重建

(2)、fragment_count

表示碎片数量,或者是组成索引单独页面的数量

(3)、page_count

组成统计的索引或数据页面数量的统计

 

四、碎片处理

[html] view plaincopy
  1. 卸载并且重建索引  
  2.   
  3. 使用DROP_EXISTING子句重建索引  
  4.   
  5. 执行ALTER INDEX REBUILD语句  
  6.   
  7. 执行ALTER INDEX REORGANIZE  

(1)、卸载并且重建索引

该方式是最简单 的方法,就是先删除在创建,但是该方式也有许多缺点

[html] view plaincopy
  1. 1、阻塞,该方式会造成系统大的开销,并且可能导致阻塞,因为如果数据过大,该操作是很耗时间的,在该期间可能阻塞该表上的其他操作  
  2.   
  3. 2、丢失索引,因为在索引卸载等待重建期间,该表的查询没有索引可以使用,导致查询性能下降  
  4.   
  5. 3、非聚簇索引,因为卸载重建的索引是聚簇索引,那么其他的非聚簇索引也必须被重建,因为非聚簇索引是建立在聚簇索引之上的  
  6.   
  7. 4、唯一性约束,用于定义主键或者唯一性约束的索引不能被删除。并且主键等可能被外键引用,在卸载主键之前必须先卸载外键  

 

因此,该方式只适合在没有什么人访问数据库的的空闲时候采用,有足够的时间慢慢倒腾

(2)、使用DROP_EXISTING子句重建索引

在重建聚簇索引的时候,使用DROP_EXISTING子句可以避免重建非聚簇索引,因为行定位器使用的索引键值保持不变,并且是在同一原子步骤中。

可以为聚簇索引与非聚簇索引使用DROP_EXISTING子句,甚至可以将非聚簇索引转换为聚簇索引,但是不能将聚簇索引转换为非聚簇索引。

当然该方式也是有缺点的

[html] view plaincopy
  1. 1、阻塞,与卸载重建方式类似,当资源紧张时也可能导致阻塞  
  2.   
  3. 2、使用约束的索引,该方式可以重新创建具有约束的索引,但是如果该约束是主键或是与外键相关的唯一性约束,有可能会有问题  
  4.   
  5. 3、具有多个碎片化的索引的表,由于数据产生碎片,索引常常也随之产生碎片,如果使用该碎片技术,表上所有索引必须单独重建  


(3)、使用ALTER INDEX REBUILD语句

该操作是在一个原子步骤中完成的,是物理的重建索引。但是并不是先删除在创建而是动态的重建索引,将碎片降低到最低程度。

尽管该方式是很常用的索引重建方式,但是仍有一些缺陷:

[html] view plaincopy
  1. 1、阻塞,与前两种方式类似,当资源紧张时也是有可能造成堵塞的  
  2.   
  3. 2、事务回滚,因为该操作是一个原子操作,如果该操作中途停止,事务将会回滚,那么之前碎片整理操作将会丢失  


(4)、使用ALTER INDEX REORGANIZE语句

该方式并不是物理重建,而是采用逻辑方式按照索引键的逻辑顺序重新排列现有的索引叶子页面来减少碎片。

该方式是非原子性的操作

当然该方式也是有缺点的:

[html] view plaincopy
  1. 1、该方式不能像REBUILD方式有效的减少碎片  
  2.   
  3. 2、对于高度碎片化的索引,该方式比=重建索引更耗时间  
  4.   
  5. 3、如果索引跨越多个文件,该方式不能在文件之间移动页面  

(5)、集中方式的特性比较

特性/问题 卸载并且重建 使用DROP_EXISTING REBUILD REORGANIZE

在整理聚簇索引碎片时

重建非聚簇索引

两次
丢失索引
整理具有约束的索引碎片 很复杂 一般复杂 简单 简单
同时进行多个索引碎片整理
并发性 一般
中途撤销 因为不使用事务而存在危险 进程丢失 进程丢失 进程被保留
碎片整理程度 中一般
应用新的填充因子
更新统计

相关推荐

  • moncler outlet 磁盘碎片收拾 百科手刺磁盘碎片整理,就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和纷乱文件重新整理,开释出更多的磁盘空间,可提高电脑的整体性能和运行速度,moncler。目录什么是磁盘碎片?磁盘碎片的产生磁盘整理的意义磁
  • MYSQL order by排序与索引关系总结 我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。当然,除了B+树这种类型的索引之外,还有哈稀索引(hashinde
  • SQL Server 使用全文索引进行页面搜索 概述全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中。全文索引是一种特殊类型的基于标记的功能性索引,它是由SQLServer全文引擎生成和维护的。生成
  • Google 以外的搜索引擎的创新 有许多新的搜索引擎都在开创一些搜索技术的创新。下面是一份17大搜索创新清单,我们认为,这些创新将来会是破坏性的。这些创新分为4类:查询预处理;信息来源;算法改进;结果可视化和后处理。有许多新的搜索引擎(最新统计有100多个)都在开创一些搜索
  • “Show商圈”的畅通计划 静享碎片时光 “Show商圈”的畅通计划静享碎片时光“Show商圈”APP即将面世,面对如今百花争艳的APP市场,它有什么勇于直面强敌而巍然不倒的优势吗?“Show商圈”畅通计划毫无疑问,一款成功的APP在于它的价值体现,它给人们生活带来便利,以及它的不
  • 是敌是友? 谷歌将搜索引擎服务登陆Facebook   安丰网讯11月17日,谷歌母公司Alphabet宣布旗下搜索引擎服务将登陆Facebook,从上周五开始,Facebook应用已可以实现应用内谷歌检索。    挑战谷歌  要知道,Facebook已经对外发布了一个全新的搜索引擎“通用搜
  • 谷歌优化 士佳让搜索引擎(百度、google)短时间收录的小诀窍SEM   现在的一些元素已经失去效应了例如加粗等。  5、标题和网站代码的规范性。1、在百度、google提交网址,但现在自动收录的速度已经让众人所知,所以提出以下的方法。紧供所有的seo爱好者参详,学习。关键词标签: 百度收录 谷歌收录   2
  • 乌有之乡 全站文章索引 乌有之乡>>全站文章索引>>第1页:卢麒元:关于经济政策的若干思考-[卢麒元]商业抵制:一种宏观无害微观有效的民主权利-[卢映西]时寒冰:揭秘外资操控中国股市牟利背后-[时寒冰]美诬称中国“诽谤&rdqu
  • Intel 发表 Ivy Bridge 第三代 Core 处理器 作者:哈烧王Hot3c新闻核心内含四焦点处理器且功能壮大的高阶桌上型电脑、笔记型电脑与轻浮斑斓的all-in-one电脑将于本日上市。为加快英特尔的「法则律动(tick-tock)」钟摆时程,新推出的处理器首度同时採用全球首款22奈米(nm
  • 352@365八项规定实施4年:查违规逾14万起 处理近20万人 八项规定实施4年:查违规逾14万起处理近20万人记者柴逸扉2016年12月05日07:13来源:人民网-人民日报海外版图为9月9日,检查组工作人员在福州市一家大型超市通过销售记录检查购物卡销售去向。  新华社记者 张国俊摄2012年12月4
  • Android阵营问题集中爆发 平台碎片化弊端显现 2012年04月22日10:33新浪科技导语:美国科技博客BusinessInsider今天刊文称,2011年,谷歌Android平台快速发展。然而在进入2012年之后,Android开始遭遇一系列麻烦。BusinessInsider列出了
  • Android营垒效果集中迸发 平台碎片化弊病浮现 美国科技博客BusinessInsider今天刊文称,2011年,谷歌Android平台快速开展。但是在进入2012年之后,Android末尾遭逢一系列费事。BusinessInsider列出了Android目前面临的主要效果。开发者兴味减

你的评论

就没有什么想说的吗?

最新博客

关于我们 移动版

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X