zoukankan      html  css  js  c++  java
  • 第十章——维护索引(4)——通过重组索引提高性能

    /*前言:
    如果碎片程度小于%,建议使用重组而不是重建。因为重组不会锁住数据页或者数据表,并且降低CPU的资源。
    总得来说,重组会清空当前的B-TREE,特别是索引的叶子节点,重组数据页和消除碎片。和重建不同,重组不会添加任何新数据页。
     
    准备工作:
    为了了解是否有必要重组索引,需要首先查看碎片程度,如果在%以下,那一般没必要做什么维护,如果在%~30%,就建议进行重组。
     
     
    步骤:
    1、以下各种重组索引的方法:*/
    
    --不指定参数重组索引: 
    ALTER INDEX [idx_refno] ON [ordDemo]  
    REORGANIZE  
    GO  
      
    --重组表中所有索引: 
    ALTER INDEX ALL ON [ordDemo]  
    REORGANIZE  
    GO  
      
    --使用DBCC INDEXDEFRAG重建表上所有索引: 
    DBCC INDEXDEFRAG('hydee','u_store_c')  
    GO  
      
    --使用DBCC INDEXDEFRAG重组表上一个索引: 
    DBCC INDEXDEFRAG('hydee','u_store_c','i_store_c_wareid')  
    GO  
    
    
    
    /*
    2、DBCC INDEXDEFRAG命令同样是后续不建议继续使用的命令。
     
    分析:
    索引重组,也可以称为碎片重组,对单独索引的操作将使用单独的线程。不可以并行操作。所以同一时刻只有一个索引被操作。
    重组并不产生新页,但是会压缩页,如果页面已经为空,将会移除这个页,所以填充因子选项是不需要的。同时,因为它不会锁住对象,所以总是联机处理。
    重组同样需要sysadmin、db_onwer、db_ddladmin角色。*/
  • 相关阅读:
    js-AOP
    jQueryUI之autocomplete
    nginx安装配置
    oracle结构语法
    ajax/表单提交 多个相同name的处理方法
    ES6模块化
    docker运维
    帆软报表
    oracle锁表
    香港到大陆IPLC节点故障
  • 原文地址:https://www.cnblogs.com/binghou/p/9109486.html
Copyright © 2011-2022 走看看