적용 대상: Microsoft Fabric의 SQL Server 2022(16.x) 이상 버전
Azure SQL Database
Azure SQL Managed Instance
SQL 데이터베이스
SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 테이블 또는 인덱싱된 뷰의 하나 이상의 열에 쿼리 최적화 통계를 만들 수 있습니다. 쿼리 최적화 프로그램은 대부분의 쿼리에 대해 고품질의 쿼리 계획에 필요한 통계를 기본적으로 생성합니다. 추가 통계를 만들어야 하는 경우는 드뭅니다.
제한 사항
CREATE STATISTICS 문을 사용하여 통계를 만들기 전에 AUTO_CREATE_STATISTICS 옵션이 데이터베이스 수준에서 설정되었는지 확인합니다. 이렇게 하면 쿼리 최적화 프로그램이 쿼리 조건자 열에 대한 단일 열 통계를 계속 정기적으로 만듭니다.
정적 개체당 최대 32개의 열을 나열할 수 있습니다.
필터링된 통계 조건자에서 정의된 테이블 열의 정의를 삭제, 이름 바꾸기 또는 변경할 수 없습니다.
사용 권한
사용자가 테이블 또는 인덱싱된 뷰의 소유자이거나 sysadmin 고정 서버 역할, db_owner 고정 데이터베이스 역할, 또는 db_ddladmin 고정 데이터베이스 역할의 멤버여야 합니다.
SQL Server Management Studio 사용
개체 탐색기에서 더하기 기호를 선택하여 새 통계를 만들 데이터베이스를 확장합니다.
더하기 기호를 선택하여 테이블 폴더를 확장합니다.
더하기 기호를 선택하여 새 통계를 만들 테이블을 확장합니다.
통계 폴더를 마우스 오른쪽 단추로 선택하고 새 통계...를 선택합니다.
테이블에 대한 새 통계table_name 대화 상자의 일반 페이지에 다음 속성이 표시됩니다.
속성 (또는 재산, 소유 depending on context) 설명 테이블 이름 통계에서 설명하는 테이블의 이름을 표시합니다. 통계 이름 통계가 저장되는 데이터베이스 개체 이름을 표시합니다. 통계 열 이 그리드는 이 통계 집합에 설명된 열을 보여줍니다. 표의 모든 값은 읽기 전용입니다. 이름 통계에서 설명하는 열의 이름을 표시합니다. 하나의 열일 수도 있고 단일 테이블의 열 조합일 수도 있습니다. 데이터 형식 통계에서 설명하는 열의 데이터 형식을 나타냅니다. 크기 각 열에 대한 데이터 형식의 크기를 표시합니다. 신원 선택하면 ID 열을 나타냅니다. NULL 허용 열에서 NULL 값을 허용하는지 여부를 나타냅니다. 추가 테이블에서 통계 표에 열을 더 추가합니다. 제거 통계 약식 표에서 선택한 열을 제거합니다. 위로 이동 선택한 열을 통계 약식 표의 이전 위치로 이동합니다. 표의 위치는 통계의 유용성에 상당한 영향을 미칠 수 있습니다. 아래로 이동 선택한 열을 통계 약식 표의 이후 위치로 이동합니다. 이러한 열에 대한 통계가 마지막으로 업데이트된 시기 통계가 얼마나 오래되었는지 나타냅니다. 통계는 최신일 때 더 유용합니다. 데이터를 크게 변경한 후 또는 비정형 데이터를 추가한 후 통계를 업데이트합니다. 데이터가 일관성 있게 배포된 테이블 통계는 자주 업데이트할 필요가 없습니다. 이러한 열에 대한 통계 업데이트 대화 상자가 닫혀 있을 때 통계를 업데이트하려면 선택합니다. 테이블에 대한 새 통계table_name 대화 상자의 필터 페이지에 다음 속성이 표시됩니다.
속성 (또는 재산, 소유 depending on context) 설명 필터 식 필터링된 통계에 포함할 데이터 행을 정의합니다. 예를 들어 Production.ProductSubcategoryID IN ( 1, 2, 3 )
테이블에 대한 새 통계table_name 대화 상자의 일반 페이지에서 추가를 선택합니다.
다음 속성은 열 선택 대화 상자에 표시됩니다. 이 정보는 읽기 전용입니다.
속성 (또는 재산, 소유 depending on context) 설명 이름 통계에서 설명하는 열의 이름을 표시합니다. 하나의 열일 수도 있고 단일 테이블의 열 조합일 수도 있습니다. 데이터 형식 통계에서 설명하는 열의 데이터 형식을 나타냅니다. 크기 각 열에 대한 데이터 형식의 크기를 표시합니다. 신원 확인 시 ID 열을 나타냅니다. NULL 허용 열에서 NULL 값을 허용하는지 여부를 나타냅니다. 열 선택 대화 상자에서 통계를 만들려는 각 열의 확인란을 선택한 다음 확인을 선택합니다.
테이블에 대한 새 통계table_name 대화 상자에서 확인을 선택합니다.
Transact-SQL 사용
개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.
USE AdventureWorks2022; GO -- Create new statistic object called ContactMail1 -- on the BusinessEntityID and EmailPromotion columns in the Person.Person table. CREATE STATISTICS ContactMail1 ON Person.Person (BusinessEntityID, EmailPromotion); GO
위에서 만든 통계는 다음 쿼리의 결과를 향상시킬 수 있습니다.
USE AdventureWorks2022; GO SELECT LastName, FirstName FROM Person.Person WHERE EmailPromotion = 2 ORDER BY LastName, FirstName; GO