2018년 7월 20일 금요일
DB - MSSQL - 테이블 인덱스 재정리
-----------------------------------------------------------------------------------
해당 데이터베이스의 모든 테이블의 모든 인덱스를 재정리
-----------------------------------------------------------------------------------
DECLARE @i int, @sql varchar(1000)
DECLARE @tablename varchar(1000),@ownerName varchar(1000)
SET @i = 1
DECLARE DB_Cursor CURSOR FOR
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_SCHEMA, TABLE_NAME
OPEN DB_Cursor
FETCH NEXT FROM DB_Cursor
INTO @ownerName, @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'ALTER INDEX ALL ON ' + @ownerName + '.' + @tablename + ' REBUILD WITH (PAD_INDEX = ON, FILLFACTOR = 90) '
EXEC (@sql)
PRINT CONVERT(VARCHAR, @i) + '__' + @ownerName + '.' + @tablename + '............ OK'
SET @i = @i + 1
FETCH NEXT FROM DB_Cursor
INTO @ownerName, @tablename
END
CLOSE DB_Cursor
DEALLOCATE DB_Cursor
-----------------------------------------------------------------------------------
특정한 테이블 인텍스 재정리
-----------------------------------------------------------------------------------
USE DB명
SP_HELPINDEX table명
--조회
DBCC SHOWCONTIG (table명) WITH TABLERESULTS
/*
Scan Density(logical extent density) 와 Avg Page Density(Avg free bytes/page) 확인.
30~50% under이면 Reorg가 필요
*/
--index defrag
DBCC INDEXDEFRAG(DB명, TABLE명, INDEX명)
--혹은 dbcc dbreindex(TABLE명, '', 100)
--reindex 후 다시 조회
DBCC SHOWCONTIG (SC_TRAN) WITH TABLERESULTS
피드 구독하기:
댓글 (Atom)
MSSQL - Cursor vs Temp Table
#테이블 변수사용의 예 use pubs go declare @tmptable table ( nid int identity(1,1) not null, title varchar (80) not null ) -- 테이블 변수 선언 inse...
-
11 SQL Client for Productive Database Administration & Development Working as a web developer or database administrator, often n...
-
[JSON Serialization] JSON Serialization The JSON Serialization feature converts objects to and from JSON format. This can be use...
댓글 없음:
댓글 쓰기