前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >维护索引(4)——通过重组索引提高性能

维护索引(4)——通过重组索引提高性能

作者头像
逸鹏
发布2018-04-11 11:32:20
7750
发布2018-04-11 11:32:20
举报
文章被收录于专栏:逸鹏说道逸鹏说道逸鹏说道

前言:

如果碎片程度小于30%,建议使用重组而不是重建。因为重组不会锁住数据页或者数据表,并且降低CPU的资源。

总得来说,重组会清空当前的B-TREE,特别是索引的叶子节点,重组数据页和消除碎片。和重建不同,重组不会添加任何新数据页。

准备工作:

为了了解是否有必要重组索引,需要首先查看碎片程度,如果在10%以下,那一般没必要做什么维护,如果在10%~30%,就建议进行重组。

步骤:

1、 以下各种重组索引的方法:

  1. --不指定参数重组索引:
  2. ALTER INDEX [idx_refno] ON [ordDemo]
  3. REORGANIZE
  4. GO
  5. --重组表中所有索引:
  6. ALTER INDEX ALL ON [ordDemo]
  7. REORGANIZE
  8. GO
  9. --使用DBCC INDEXDEFRAG重建表上所有索引:
  10. DBCC INDEXDEFRAG('AdventureWorks','ordDemo')
  11. GO
  12. --使用DBCC INDEXDEFRAG重组表上一个索引:
  13. DBCC INDEXDEFRAG('AdventureWorks','ordDemo','idx_refno')
  14. GO

2、 DBCC INDEXDEFRAG命令同样是后续不建议继续使用的命令。

分析:

索引重组,也可以称为碎片重组,对单独索引的操作将使用单独的线程。不可以并行操作。所以同一时刻只有一个索引被操作。

重组并不产生新页,但是会压缩页,如果页面已经为空,将会移除这个页,所以填充因子选项是不需要的。同时,因为它不会锁住对象,所以总是联机处理。

重组同样需要sysadmin、db_onwer、db_ddladmin角色。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我为Net狂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 准备工作:
  • 步骤:
  • 分析:
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档