使用游标重建索引
2012-12-18 17:27
495 查看
使用游标重建索引
Set nocount on declare CUR_Dx Cursor Local For With PT as ( Select Object_id,index_id,Partition_count = count(*) From sys.partitions Group by Object_id,index_id ), DIX as ( select DDIPS.object_id, DDIPS.index_id, DDIPS.partition_number, DDIPS.avg_fragmentation_in_percent, object_name = O.name, Schema_name = s.name, index_name = IX.name, Partition_count = PT.Partition_count From sys.dm_db_index_physical_stats(DB_ID(),null,null,null,'LimiTed') as DDIPS Inner join sys.Objects as O on DDIPS.object_id = O.Object_id Inner join sys.schemas as S on S.Schema_id = O.Schema_id Inner join sys.indexes as IX ON DDIPS.Object_id = IX.Object_id and DDIPS.index_id = IX.Index_id Inner join PT on DDIPS.Object_id = PT.Object_id and DDIPS.index_id = PT.index_id where DDIPS.avg_fragmentation_in_percent > 5 and DDIPS.index_id > 0 ), DIXSQL AS ( Select SQL = N'Alter Index '+ Quotename(index_name) +N' on '+ quotename(Schema_name) +N'.'+quotename(Object_name) + case when avg_fragmentation_in_percent < 30 then N' REORGANIZE' Else N' REBUILD' END + CASE WHEN Partition_count > 1 then N' Partition = '+ convert(nvarchar(20),Partition_number) Else N'' end From DIX ) Select * from DIXSQL --Select * from DIX Declare @sql nvarchar(max) open CuR_dx Fetch CUR_Dx into @sql while @@FETCH_STATUS = 0 Begin Exec sp_executesql @sql RAISERROR (N' EXECUTED: %s',10,1,@sql) with NOWAIT FETCH CUR_DX INTO @SQL End CLOSE CUR_DX DEALLOCATE CUR_DX SET NOCOUNT OFF
相关文章推荐
- 创建使用program对无效索引进行重建
- 分析oracle索引空间使用情况,以及索引是否需要重建
- 游标的慎用和索引(Index)的使用
- Spring定时器的使用-多实例下定时重建索引
- 使用INDEX_STATS重建索引判断
- 使用SP_MSForEachTable重建一个数据库中所有的索引
- 分析oracle索引空间使用情况,以及索引是否需要重建
- ES索引重建--使用python elasticsearch
- ElasticsearchCRUD使用(七)【Elasticsearch中的实时重建索引】
- 曲演杂坛--重建索引后,还使用混合分区么?(Are mixed pages removed by an index rebuild?)
- 分析oracle索引空间使用情况,以及索引是否须要重建
- elasticsearch 重建索引 使用python迁移索引数据 reindex
- Spring定时器的使用-多实例下定时重建索引
- 使用nexus搭建maven私服、手动更新索引
- Lucene使用(二)索引的增删改查
- Oracle与MySQL存储过程以及游标使用的区别
- MySQL优化系列(三)--索引的使用、原理和设计优化
- Sql(事物+游标)使用方法
- 一不小心踏进Android开发: TPMini大眼睛使用PS3蓝牙手柄 文章索引以及其它
- SQL Server 索引结构及其使用