sys.stats(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
SQL Server의 데이터베이스에 있는 테이블, 인덱스 및 인덱싱된 뷰에 대해 존재하는 각 통계 개체에 대한 행을 포함합니다. 모든 인덱스에는 이름과 ID(index_id
= stats_id
)가 같은 해당 통계 행이 있지만 모든 통계 행에 해당 인덱스가 있는 것은 아닙니다.
카탈로그 뷰 sys.stats_columns 데이터베이스의 각 열에 대한 통계 정보를 제공합니다.
통계에 대한 자세한 내용은 통계를 참조하세요.
참고 항목
Microsoft Fabric의 통계에 대한 자세한 내용은 Microsoft Fabric의 통계를 참조하세요.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
object_id | int | 이러한 통계가 속한 개체의 ID입니다. |
이름 | sysname | 통계의 이름입니다. 개체 내에서 고유합니다. |
stats_id | int | 통계의 ID입니다. 개체 내에서 고유합니다. 통계가 인덱스에 해당하는 경우 stats_id 값은 sys.indexes 카탈로그 뷰의 index_id 값과 동일합니다. |
auto_created | bit | SQL Server에서 통계를 자동으로 만들었는지 여부를 나타냅니다. 0 = 통계가 SQL Server에서 자동으로 생성되지 않았습니다. 1 = 통계가 SQL Server에 의해 자동으로 생성되었습니다. |
user_created | bit | 사용자가 만든 통계인지 여부를 나타냅니다. 0 = 사용자가 통계를 만들지 않았습니다. 1 = 사용자가 만든 통계입니다. |
no_recompute | bit | NORECOMPUTE 옵션을 사용하여 통계가 만들어졌는지 여부를 나타냅니다. 0 = NORECOMPUTE 옵션을 사용하여 통계가 만들어지지 않았습니다. 1 = NORECOMPUTE 옵션을 사용하여 통계를 만들었습니다. |
has_filter | bit | 0 = 통계에 필터가 없으며 모든 행에서 계산됩니다. 1 = 통계에는 필터가 있으며 필터 정의를 충족하는 행에서만 계산됩니다. |
filter_definition | nvarchar(max) | 필터링된 통계에 포함된 행의 하위 집합에 대한 식입니다. NULL = 필터링되지 않은 통계입니다. |
is_temporary | bit | 통계가 임시인지 여부를 나타냅니다. 임시 통계는 읽기 전용 액세스를 사용하도록 설정된 Always On 가용성 그룹 보조 데이터베이스를 지원합니다. 0 = 통계가 일시적이지 않습니다. 1 = 통계가 임시 통계입니다. 적용 대상: SQL Server (SQL Server 2012(11.x)부터 시작) |
is_incremental | bit | 통계가 증분 통계로 생성되는지 여부를 나타냅니다. 0 = 통계가 증분되지 않습니다. 1 = 통계가 증분됩니다. 적용 대상: SQL Server (SQL Server 2014(12.x)부터 시작) |
has_persisted_sample | bit | PERSIST_SAMPLE_PERCENT 옵션을 사용하여 통계를 만들거나 업데이트했는지 여부를 나타냅니다. 0 = 통계가 샘플 백분율을 유지하지 않습니다. 1 = PERSIST_SAMPLE_PERCENT 옵션을 사용하여 통계를 만들거나 업데이트했습니다. 적용 대상: SQL Server(SQL Server 2019(15.x)부터) |
stats_generation_method | int | 통계가 생성되는 메서드를 나타냅니다. 0 = 정렬 기반 통계 1 = 내부 사용만 적용 대상: SQL Server(SQL Server 2019(15.x)부터) |
stats_generation_method_desc | varchar(255) | 통계가 생성되는 메서드의 텍스트 설명입니다. 정렬 기반 통계 내부적으로만 사용됩니다. 적용 대상: SQL Server(SQL Server 2019(15.x)부터) |
auto_drop | bit | 이 통계 개체에 대해 자동 삭제 기능을 사용할 수 있는지 여부를 나타냅니다. AUTO_DROP을 사용하면 통계로 인해 스키마 변경이 차단되지 않고 대신 통계 개체가 삭제되도록 통계 개체를 만들 수 있습니다. 이러한 방식으로 AUTO_DROP을 사용하도록 설정된 수동으로 만든 통계는 자동 생성된 통계처럼 동작합니다. 자세한 내용은 AUTO_DROP 옵션을 참조하세요. 적용 대상: Azure SQL Database, Azure SQL Managed Instance 및 SQL Server 2022(16.x)부터 시작합니다. |
사용 권한
사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
예제
다음 예제에서는 테이블에 대한 HumanResources.Employee
모든 통계 및 통계 열을 반환합니다.
USE AdventureWorks2022;
GO
SELECT s.name AS statistics_name
,c.name AS column_name
,sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc
ON s.object_id = sc.object_id AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c
ON sc.object_id = c.object_id AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');
참고 항목
- 개체 카탈로그 뷰(Transact-SQL)
- 카탈로그 보기(Transact-SQL)
- SQL Server 시스템 카탈로그 쿼리 FAQ
- sys.dm_db_stats_properties(Transact-SQL)
- sys.dm_db_stats_histogram (Transact-SQL)
- sys.stats_columns(Transact-SQL)