통계 만들기Create Statistics

이 항목 적용 대상: 예SQL Server예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스 예 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 SQL Server 2017SQL Server 2017에서 테이블 또는 인덱싱된 뷰의 하나 이상의 열에 대한 쿼리 최적화 통계를 만들 수 있습니다. You can create query optimization statistics on one or more columns of a table or indexed view in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 대부분의 쿼리에서 쿼리 최적화 프로그램은 고품질의 쿼리 계획에 필요한 통계를 이미 생성하므로 경우에 따라서 추가 통계를 만들어야 합니다.For most queries, the query optimizer already generates the necessary statistics for a high-quality query plan; in a few cases, you need to create additional statistics.

항목 내용In This Topic

시작하기 전 주의 사항Before You Begin

제한 사항Limitations and Restrictions

  • CREATE STATISTICS 문을 사용하여 통계를 만들기 전에 AUTO_CREATE_STATISTICS 옵션이 데이터베이스 수준에서 설정되었는지 확인합니다.Before creating statistics with the CREATE STATISTICS statement, verify that the AUTO_CREATE_STATISTICS option is set at the database level. 이렇게 하면 쿼리 최적화 프로그램이 정기적으로 쿼리 조건자 열에 대한 단일 열 통계를 계속 만들 수 있습니다.This will ensure that the query optimizer continues to routinely create single-column statistics for query predicate columns.

  • 정적 개체당 최대 32개의 열을 나열할 수 있습니다.You can list up to 32 columns per statistics object.

  • 필터링된 통계 조건자에 정의된 테이블 열의 정의에 대해 삭제, 이름 변경 또는 변경을 수행할 수 없습니다.You cannot drop, rename, or alter the definition of a table column that is defined in a filtered statistics predicate.

보안Security

사용 권한Permissions

사용자가 테이블 또는 인덱싱된 뷰의 소유자이거나 sysadmin 고정 서버 역할, db_owner 고정 데이터베이스 역할 또는 db_ddladmin 고정 데이터베이스 역할 중 하나의 멤버여야 합니다.Requires that the user be the table or indexed view owner, or a member of one of the following roles: sysadmin fixed server role, db_owner fixed database role, or the db_ddladmin fixed database role.

SQL Server Management Studio 사용Using SQL Server Management Studio

통계를 만들려면To create statistics

  1. 개체 탐색기에서 더하기 기호를 클릭하여 새 통계를 만들 데이터베이스를 확장합니다.In Object Explorer, click the plus sign to expand the database in which you want to create a new statistic.

  2. 더하기 기호를 클릭하여 테이블 폴더를 확장합니다.Click the plus sign to expand the Tables folder.

  3. 더하기 기호를 클릭하여 새 통계를 만들 테이블을 확장합니다.Click the plus sign to expand the table in which you want to create a new statistic.

  4. 통계 폴더를 마우스 오른쪽 단추로 클릭하고 새 통계...를 선택합니다.Right-click the Statistics folder and select New Statistics….

    테이블에 대한 새 통계 table_name 대화 상자의일반 페이지에 다음 속성이 표시됩니다.The following properties show on the General page in the New Statistics on Tabletable_name dialog box.

    테이블 이름Table Name
    통계에서 설명하는 테이블 이름을 표시합니다.Displays the name of the table described by the statistics.

    통계 이름Statistics Name
    통계가 저장되는 데이터베이스 개체 이름을 표시합니다.Displays the name of the database object where the statistics are stored.

    통계 열Statistics Columns
    이 통계 집합에서 설명하는 열을 보여 주는 표입니다.This grid shows the columns described by this set of statistics. 표의 모든 값은 읽기 전용입니다.All values in the grid are read-only.

    이름Name
    통계에서 설명하는 열 이름을 표시합니다.Displays the name of the column described by the statistics. 하나의 열일 수도 있고 단일 테이블의 열 조합일 수도 있습니다.This can be a single column or a combination of columns in a single table.

    데이터 형식Data Type
    통계에서 설명하는 열의 데이터 형식을 나타냅니다.Indicates the data type of the columns described by the statistics.

    크기Size
    각 열에 대한 데이터 형식의 크기를 표시합니다.Displays the size of the data type for each column.

    IDIdentity
    선택 시 ID 열을 나타냅니다.Indicates an identity column when it is checked.

    Null 허용Allow Nulls
    열에 NULL 값을 사용할 수 있는지 여부를 나타냅니다.Indicates whether the column accepts NULL values.

    추가Add
    테이블의 추가 열을 통계 표에 추가합니다.Add additional columns from the table to the statistics grid.

    제거Remove
    선택한 열을 통계 표에서 제거합니다.Remove the selected column from the statistics grid.

    위로 이동Move Up
    선택한 열을 통계 표에서 이전 위치로 이동합니다.Move the selected column to an earlier location in the statistics grid. 표에서의 위치는 통계 유용성에 큰 영향을 줄 수 있습니다.The location in the grid can substantially impact the usefulness of the statistics.

    아래로 이동Move Down
    선택한 열을 통계 표에서 이후 위치로 이동합니다.Move the selected column to a later location in the statistics grid.

    이 열에 대한 통계 마지막 업데이트:Statistics for these columns were last updated:
    통계가 얼마나 오래되었는지를 나타냅니다.Indicates how old the statistics are. 통계는 최신 상태일 때 더욱 가치가 있습니다.Statistics are more valuable when they are current. 데이터가 크게 변경되거나 부정형 데이터를 추가한 후에는 통계를 업데이트합니다.Update statistics after large changes to the data or after adding atypical data. 데이터가 일관성 있게 배포된 테이블 통계는 자주 업데이트할 필요가 없습니다.Statistics for tables that have a consistent distribution of data need to be updated less frequently.

    이 열에 대한 통계 업데이트Update statistics for these columns
    대화 상자를 닫을 때 통계를 업데이트하려면 선택합니다.Check to update the statistics when the dialog box is closed.

    테이블에 대한 새 통계 table_name 대화 상자의필터 페이지에 다음 속성이 표시됩니다.The following property shows on the Filter page in the New Statistics on Tabletable_name dialog box.

    필터 식Filter Expression
    필터링된 통계에 포함할 데이터 행을 정의합니다.Defines which data rows to include in the filtered statistics. 예를 들면 다음과 같습니다. Production.ProductSubcategoryID IN ( 1,2,3 )For example, Production.ProductSubcategoryID IN ( 1,2,3 )

  5. 테이블에 대한 새 통계table_name 대화 상자의 일반 페이지에서 추가를 클릭합니다.In the New Statistics on Tabletable_name dialog box, on the General page, click Add.

    열 선택 대화 상자에 표시되는 속성은 다음과 같습니다.The following properties show in the Select Columns dialog box. 이 정보는 읽기 전용입니다.This information is read-only.

    이름Name
    통계에서 설명하는 열 이름을 표시합니다.Displays the name of the column described by the statistics. 하나의 열일 수도 있고 단일 테이블의 열 조합일 수도 있습니다.This can be a single column or a combination of columns in a single table.

    데이터 형식Data Type
    통계에서 설명하는 열의 데이터 형식을 나타냅니다.Indicates the data type of the columns described by the statistics.

    크기Size
    각 열에 대한 데이터 형식의 크기를 표시합니다.Displays the size of the data type for each column.

    IDIdentity
    선택 시 ID 열을 나타냅니다.Indicates an identity column when checked.

    Allow NULLsAllow NULLs
    열에 NULL 값을 사용할 수 있는지 여부를 나타냅니다.Indicates whether the column accepts NULL values.

  6. 열 선택 대화 상자에서 통계를 만들려는 각 열의 확인란을 선택한 다음 확인을 클릭합니다.In the Select Columns dialog box, select the check box or check boxes of each column for which you want to create a statistic and then click OK.

  7. 테이블에 대한 새 통계table_name 대화 상자에서 확인을 클릭합니다.In the New Statistics on Tabletable_name dialog box, click OK.

Transact-SQL 사용Using Transact-SQL

통계를 만들려면To create statistics

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;   
    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  
    
  4. 위에서 만든 통계는 다음 쿼리의 결과를 향상시킬 수 있습니다.The statistic created above potentially improves the results for the following query.

    USE AdventureWorks2012;   
    GO  
    SELECT LastName, FirstName  
    FROM Person.Person  
    WHERE EmailPromotion = 2  
    ORDER BY LastName, FirstName;   
    GO  
    

    자세한 내용은 CREATE STATISTICS(Transact-SQL)를 참조하세요.For more information, see CREATE STATISTICS (Transact-SQL).