zoukankan      html  css  js  c++  java
  • [转] SQL Server 2005索引碎片整理SQL语句

    /*******************************************************/
    /*         功能:SQL Server 2005索引碎片整理            */
    /*              逻辑碎片>=30重建索引,<30重新组织索引   */
    /*         作者:贾桂军                                 */
    /*         日期:2008年6月11日                          */
    /*******************************************************/
    /***********SQL Server 2005索引碎片整理*****************/
    /**使用方法:将需要整理索引碎片的数据库设置为当前数据库**/
    set nocount on
    --使用游标重新组织指定库中的索引,消除索引碎片
    --R_T层游标取出当前数据库所有表
    declare R_T cursor
    for select name from sys.tables
    declare @T varchar(50)
    open r_t
    fetch next from r_t into @t
    while @@fetch_status=0
    begin
    --R_index游标判断指定表索引碎片情况并优化
    declare R_Index cursor
    for select t.name,i.name,s.avg_fragmentation_in_percent from sys.tables t
      join sys.indexes i on i.object_id=t.object_id
      join sys.dm_db_index_physical_stats(db_id(),object_id(@T),null,null,'limited') s
       on s.object_id=i.object_id and s.index_id=i.index_id
    declare @TName varchar(50),@IName varchar(50),@avg int,@str varchar(500)
    open r_index
    fetch next from r_index into @TName,@Iname,@avg
    while @@fetch_status=0
    begin
      if @avg>=30  --如果碎片大于30,重建索引
      begin
       set @str='alter index '+rtrim(@Iname)+' on dbo.'+rtrim(@tname)+' rebuild'
      end
      else   --如果碎片小于30,重新组织索引
      begin
       set @STR='alter index '+rtrim(@Iname)+' on dbo.'+rtrim(@tname)+' reorganize'
      end
      print @str
      exec (@str)  --执行
      fetch next from r_index into @TName,@Iname,@avg
    end
    --结束r_index游标
    close r_index
    deallocate r_index
    fetch next from r_t into @t
    end
    --结束R_T游标
    close r_t
    deallocate r_t
    set nocount off

    /*
    --查看指定表的索引情况
    select t.name,i.name,s.avg_fragmentation_in_percent from sys.tables t
    join sys.indexes i on i.object_id=t.object_id
    join sys.dm_db_index_physical_stats(db_id(),object_id('t2'),null,null,'limited') s
      on s.object_id=i.object_id and s.index_id=i.index_id

    */
  • 相关阅读:
    css3——box-sizing属性
    HTML5存储--离线存储
    微信公众号爆出前端安全漏洞
    Js获取宽高度的归纳集锦总结
    Yii 2 修改 URL 模式为 PATH 模式,并隐藏index.php
    SQL 查询优化 索引优化
    linux提示语言包
    安装linux工作环境
    linux常用命令
    PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
  • 原文地址:https://www.cnblogs.com/chillsrc/p/1549999.html
Copyright © 2011-2022 走看看