维护索引——通过重组索引提高性能
2016-05-09 17:07
176 查看
前言:
如果碎片程度小于30%,建议使用重组而不是重建。因为重组不会锁住数据页或者数据表,并且降低CPU的资源。总得来说,重组会清空当前的B-TREE,特别是索引的叶子节点,重组数据页和消除碎片。和重建不同,重组不会添加任何新数据页。
准备工作:
为了了解是否有必要重组索引,需要首先查看碎片程度,如果在10%以下,那一般没必要做什么维护,如果在10%~30%,就建议进行重组。步骤:
1、 以下各种重组索引的方法:--不指定参数重组索引:
ALTER INDEX [idx_refno] ON [ordDemo]
REORGANIZE
GO
--重组表中所有索引:
ALTER INDEX ALL ON [ordDemo]
REORGANIZE
GO
--使用DBCC INDEXDEFRAG重建表上所有索引:
DBCC INDEXDEFRAG('AdventureWorks','ordDemo')
GO
--使用DBCC INDEXDEFRAG重组表上一个索引:
DBCC INDEXDEFRAG('AdventureWorks','ordDemo','idx_refno')
GO
2、 DBCC INDEXDEFRAG命令同样是后续不建议继续使用的命令。
分析:
索引重组,也可以称为碎片重组,对单独索引的操作将使用单独的线程。不可以并行操作。所以同一时刻只有一个索引被操作。重组并不产生新页,但是会压缩页,如果页面已经为空,将会移除这个页,所以填充因子选项是不需要的。同时,因为它不会锁住对象,所以总是联机处理。
重组同样需要sysadmin、db_onwer、db_ddladmin角色。
相关文章推荐
- shell脚本的并发
- Linux Redhat5.8系统配置yum源
- Linux下调整根目录的空间大小
- Tomcat的部署
- Eclipse+JDK+Tomcat+MyEclipse的配置
- opencv3.0fujiayiliaku
- 不要谈架构,要谈方法和细节
- 分别用自定义PopupWindow和自定义Dialog实现下拉菜单
- 判别linux机器字节序为大端还是小端
- linux设置alias的方法详解
- 关于排序算法、架构师漫谈的博客网页
- linux的setjmp函数和longjmp函数
- 网站开发笔记(一)——新闻列表页面
- linux下root密码忘记修改
- 盘点7款应用最广泛的 Linux 桌面环境
- CentOs中安装和配置vsftp简明教程
- centOS6.6系统中rpm安装 MySQL-5.6.30
- linux基础之shell编程(3)-给脚本设置参数
- hadoop中文教程
- Asianux 3 linux系统下GitLab客户端安装