sqlserverインデックス
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
sqlserverインデックス [2014/02/22 09:45] – 作成 nabezo | sqlserverインデックス [2014/07/26 10:06] – [インデックスの再構築] nabezo | ||
---|---|---|---|
行 41: | 行 41: | ||
b.name | b.name | ||
| | ||
+ | | ||
+ | | ||
+ | ====インデックスの再構築==== | ||
+ | USE [TESTDB] | ||
+ | GO | ||
+ | DECLARE @TableName sysname, @IndexName sysname | ||
+ | DECLARE @basesql nvarchar(max), | ||
+ | DECLARE @Edition nvarchar(max) | ||
+ | | ||
+ | SET @basesql = 'ALTER INDEX @1 On @2 REBUILD' | ||
+ | | ||
+ | DECLARE IXC CURSOR FOR | ||
+ | SELECT | ||
+ | OBJECT_NAME(object_id) AS TableName | ||
+ | , name AS IndexName | ||
+ | FROM | ||
+ | sys.indexes | ||
+ | WHERE | ||
+ | OBJECT_SCHEMA_NAME (object_id) <> ' | ||
+ | AND | ||
+ | index_id > 0 | ||
+ | ORDER BY 1 | ||
+ | | ||
+ | OPEN IXC | ||
+ | | ||
+ | FETCH NEXT FROM IXC | ||
+ | INTO @TableName, @IndexName | ||
+ | | ||
+ | WHILE @@FETCH_STATUS = 0 | ||
+ | BEGIN | ||
+ | PRINT @TableName + ':' | ||
+ | | ||
+ | SET @sql = REPLACE(@basesql, | ||
+ | SET @sql = REPLACE(@sql, | ||
+ | |||
+ | EXECUTE (@sql) | ||
+ | | ||
+ | FETCH NEXT FROM IXC | ||
+ | INTO @TableName, @IndexName | ||
+ | END | ||
+ | | ||
+ | CLOSE IXC | ||
+ | DEALLOCATE IXC | ||
+ |
sqlserverインデックス.txt · 最終更新: 2019/06/30 12:22 by 127.0.0.1