728x90

 

/********************************************************************************
해당 데이터베이스의 모든 테이블의 인덱스 정보 보기
********************************************************************************/

DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES

-- ObjectName : 테이블이름
-- ObjectId : 테이블번호
-- IndexName : 인덱스이름
-- IndexId : 인덱스번호0:Heap, 1:Clustered 2:Nonclustered
-- Level : 인덱스수준0:인덱스의리프또는데이터, Heap 경우0
-- Pages : 페이지수
-- MinimumRecordSize : 최소레코드크기
-- MaximumRecordSize : 최대레코드크기
-- ForwardedRecords : 전달된레코드크기(8060byte가넘으면전달된레코드증가)
-- Extents : 익스텐트수
-- ExtentSwitches : 익스텐스간의이동횟수
-- AverageFreeBytes : 검색된페이지에서사용가능한평균바이트수(값이클수록페이지사용률낮음)
-- AveragePageDensity : 평균페이지밀도(백분율값이클수록좋음)
-- ScanDensity : 값이작을수록조각화가많이일어난것임(데이터가인접해있는비율)
-- BestCount : 모든데이터가인접해서연결되어있는경우인스텍트변경횟수
-- ActualCount : 실제익스텐트변경횟수
-- LogicalFragmentation : 논리적조각화(백분율이클수록안좋음)
-- ExtentFragmentation

 

or

 

SELECT Object_name(a.object_id) AS table_name -- 테이블이름
,
a.NAME AS index_name -- 인덱스이름
,
a.index_id -- 인덱스형태1:클러스터인덱스2: 이상이면넌클러스터인덱스
,
a.type -- 0:힙1:클러스터형2:비클러스터형3:XML 4:공간
,
a.type_desc -- HEAP, CLUSTERED, NONCLUSTERED, XML, SPATIAL
,
b.rowcnt -- 데이터수준행수
,
b.rows -- 데이터수준행수
,
b.rowmodctr -- 테이블에대해통계를마지막으로업데이트한이후에삽입, 삭제또는업데이트된행수
FROM sys.indexes AS a
INNER JOIN sys.sysindexes AS b
ON a.NAME = b.NAME
INNER JOIN sys.sysobjects AS c
ON a.object_id = c.idwhere c.xtype = 'U' -- 사용자가작성한테이블
ORDER BY table_name

SELECT Object_name(parent_obj) ,
*
FROM sys.sysobjects
WHERE xtype = 'PK'SELECT *
FROM sys.sysobjects
WHERE xtype = 'U'

 

 

 

728x90

+ Recent posts