3
테이블의 특정 열에 통계가있는 경우 Transact SQL에 체크 인하 고 싶다면 통계를 모두 가져 오려면 SQL에 체크인하고 싶습니다.열에 통계가있는 경우 통계를 얻는 방법은 무엇입니까?
테이블의 특정 열에 통계가있는 경우 Transact SQL에 체크 인하 고 싶다면 통계를 모두 가져 오려면 SQL에 체크인하고 싶습니다.열에 통계가있는 경우 통계를 얻는 방법은 무엇입니까?
이 쿼리를 수행해야합니다.
DB를 검색하여 통계를 찾는 저장 프로 시저에서 사용합니다.
SQL Server 2005 및 이전 버전에서도 작동합니다.
SELECT S.NAME
FROM SYS.OBJECTS AS O
INNER JOIN SYS.STATS AS S
ON O.OBJECT_ID = S.OBJECT_ID
INNER JOIN SYS.STATS_COLUMNS AS SC
ON SC.OBJECT_ID = S.OBJECT_ID
AND S.STATS_ID = SC.STATS_ID
WHERE (O.OBJECT_ID = OBJECT_ID('MyTable','local'))
AND (O.TYPE IN ('U'))
AND (INDEXPROPERTY(S.OBJECT_ID,S.NAME,'IsStatistics') = 1) /* only stats */
AND (COL_NAME(SC.OBJECT_ID,SC.COLUMN_ID) = 'MyColumn')
다른 추가 곳 부분 "AND (S.USER_CREATED = 1)"의 경우이 방법을 사용하여, 사용자가 작성한 쿼리를 드롭이 쿼리를 사용에 흥미 : http://sqlsoundings.blogspot.be/2012 /06/delete-statistics.html –