통계 업데이트Update Statistics

SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL에서 테이블 또는 인덱싱된 뷰에 대한 쿼리 최적화 통계를 업데이트할 수 있습니다.You can update query optimization statistics on a table or indexed view in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 기본적으로 쿼리 최적화 프로그램은 필요할 때 통계를 업데이트하여 쿼리 계획을 향상시킵니다. 하지만 경우에 따라 사용자가 UPDATE STATISTICS 또는 sp_updatestats 저장 프로시저를 사용하여 기본 업데이트 주기보다 자주 통계를 업데이트하여 쿼리 성능을 향상시킬 수 있습니다.By default, the query optimizer already updates statistics as necessary to improve the query plan; in some cases you can improve query performance by using UPDATE STATISTICS or the stored procedure sp_updatestats to update statistics more frequently than the default updates.

통계를 업데이트하면 쿼리가 최신 통계로 컴파일되지만Updating statistics ensures that queries compile with up-to-date statistics. 쿼리도 다시 컴파일됩니다.However, updating statistics causes queries to recompile. 쿼리 계획 향상과 쿼리 재컴파일 소요 시간 간의 성능 균형을 유지해야 하므로 통계를 너무 자주 업데이트하지 않는 것이 좋습니다.We recommend not updating statistics too frequently because there is a performance tradeoff between improving query plans and the time it takes to recompile queries. 구체적인 성능 균형 유지의 정도는 응용 프로그램에 따라 달라집니다.The specific tradeoffs depend on your application. UPDATE STATISTIC은 통계를 작성하기 위해 tempdb를 사용하여 행 샘플을 정렬할 수 있습니다.UPDATE STATISTICS can use tempdb to sort the sample of rows for building statistics.

항목 내용In This Topic

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

보안 Security

사용 권한 Permissions

UPDATE STATISTICS를 사용하거나 SQL Server Management StudioSQL Server Management Studio를 통해 변경 작업을 하려면 테이블 또는 뷰에 대한 ALTER 권한이 있어야 합니다.If using UPDATE STATISTICS or making changes through SQL Server Management StudioSQL Server Management Studio, requires ALTER permission on the table or view. sp_updatestats를 사용할 경우 sysadmin 고정 서버 역할에 멤버 자격이 있거나 데이터베이스(dbo)의 소유권이 있어야 합니다.If using sp_updatestats, requires membership in the sysadmin fixed server role, or ownership of the database (dbo).

SQL Server Management Studio 사용 Using SQL Server Management Studio

통계 개체를 업데이트하려면To update a statistics object

  1. 개체 탐색기에서 더하기 기호를 클릭하여 통계를 업데이트할 데이터베이스를 확장합니다.In Object Explorer, click the plus sign to expand the database in which you want to update the 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 update the statistic.

  4. 더하기 기호를 클릭하여 통계 폴더를 확장합니다.Click the plus sign to expand the Statistics folder.

  5. 업데이트하려는 통계 개체를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.Right-click the statistics object you wish to update and select Properties.

  6. 통계 속성 –statistics_name 대화 상자에서 이 열에 대한 통계 업데이트 확인란을 선택한 다음 확인을 클릭합니다.In the Statistics Properties –statistics_name dialog box, select the Update statistics for these columns check box and then click OK.

Transact-SQL 사용 Using Transact-SQL

특정 통계 개체를 업데이트하려면To update a specific statistics object

  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  
    -- The following example updates the statistics for the AK_SalesOrderDetail_rowguid index of the SalesOrderDetail table.   
    UPDATE STATISTICS Sales.SalesOrderDetail AK_SalesOrderDetail_rowguid;   
    GO  
    

테이블의 모든 통계를 업데이트하려면To update all statistics in a table

  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  
    -- The following example updates the statistics for all indexes on the SalesOrderDetail table.   
    UPDATE STATISTICS Sales.SalesOrderDetail;   
    GO  
    

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

데이터베이스의 모든 통계를 업데이트하려면To update all statistics in a database

  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  
    -- The following example updates the statistics for all tables in the database.   
    EXEC sp_updatestats;  
    

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