通过重组索引提高性能

网友投稿 245 2022-09-03

通过重组索引提高性能

前言:

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

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

准备工作:

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

步骤:

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

[sql] ​​view plain​​​​copy​​​​print​​​​?​​ 1. --不指定参数重组索引:2. ALTER INDEX [idx_refno] ON [ordDemo]3. REORGANIZE4. GO5. 6. --重组表中所有索引:7. ALTER INDEX ALL ON [ordDemo]8. REORGANIZE9. GO10. 11. --使用DBCC INDEXDEFRAG重建表上所有索引:12. DBCC INDEXDEFRAG('AdventureWorks','ordDemo')13. GO14. 15. --使用DBCC INDEXDEFRAG重组表上一个索引:16. DBCC INDEXDEFRAG('AdventureWorks','ordDemo','idx_refno')17. GO

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

分析:

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

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

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:面对 00 后,你的营销怎么做?(面对疾风吧)
下一篇:如何写一个属于自己的composer包|8月更文挑战
相关文章

 发表评论

暂时没有评论,来抢沙发吧~