sqlserverインデックス
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン | 次のリビジョン両方とも次のリビジョン | ||
sqlserverインデックス [2014/07/26 10:04] – [断片化の取得] nabezo | sqlserverインデックス [2014/07/26 10:06] – [インデックスの再構築] nabezo | ||
---|---|---|---|
行 44: | 行 44: | ||
| | ||
====インデックスの再構築==== | ====インデックスの再構築==== | ||
- | USE [DAIKO_MAIN] | + | USE [TESTDB] |
GO | GO | ||
DECLARE @TableName sysname, @IndexName sysname | DECLARE @TableName sysname, @IndexName sysname | ||
行 50: | 行 50: | ||
DECLARE @Edition nvarchar(max) | DECLARE @Edition nvarchar(max) | ||
| | ||
- | | + | SET @basesql = 'ALTER INDEX @1 On @2 REBUILD' |
- | + | ||
- | | + | |
- | + | ||
- | IF PATINDEX(‘%Enterprise%’, | + | |
- | BEGIN | + | |
- | SET @basesql = REPLACE(@basesql, | + | |
- | END | + | |
- | ELSE | + | |
- | SET @basesql = REPLACE(@basesql, | + | |
| | ||
DECLARE IXC CURSOR FOR | DECLARE IXC CURSOR FOR | ||
行 68: | 行 59: | ||
sys.indexes | sys.indexes | ||
WHERE | WHERE | ||
- | OBJECT_SCHEMA_NAME (object_id) <> | + | OBJECT_SCHEMA_NAME (object_id) <> |
AND | AND | ||
index_id > 0 | index_id > 0 | ||
行 80: | 行 71: | ||
WHILE @@FETCH_STATUS = 0 | WHILE @@FETCH_STATUS = 0 | ||
BEGIN | BEGIN | ||
- | PRINT @TableName + ‘:’ + @IndexName | + | PRINT @TableName + ':' |
- | + | ||
- | SET @sql = REPLACE(@basesql, | + | SET @sql = REPLACE(@basesql, |
- | SET @sql = REPLACE(@sql, | + | SET @sql = REPLACE(@sql, |
EXECUTE (@sql) | EXECUTE (@sql) | ||
+ | | ||
FETCH NEXT FROM IXC | FETCH NEXT FROM IXC | ||
INTO @TableName, @IndexName | INTO @TableName, @IndexName |
sqlserverインデックス.txt · 最終更新: 2019/06/30 12:22 by 127.0.0.1