sys.dm_db_index_usage_stats(Transact-SQL)sys.dm_db_index_usage_stats (Transact-SQL)

이 항목은 다음에 적용됩니다. 예SQL Server(2008부터)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

서로 다른 유형의 인덱스 작업 수와 각 유형의 작업이 마지막으로 수행된 시간을 반환합니다.Returns counts of different types of index operations and the time each type of operation was last performed.

Azure SQL 데이터베이스Azure SQL Database에서 동적 관리 뷰는 데이터베이스 포함에 영향을 줄 수 있는 정보 또는 사용자가 액세스할 수 있는 다른 데이터베이스 정보를 노출할 수 없습니다.In Azure SQL 데이터베이스Azure SQL Database, dynamic management views cannot expose information that would impact database containment or expose information about other databases the user has access to. 이러한 정보 노출을 방지하기 위해 연결된 테넌트에 속하지 않는 데이터가 포함된 행은 모두 필터링됩니다.To avoid exposing this information, every row that contains data that doesn’t belong to the connected tenant is filtered out.


sys.dm_db_index_usage_stats 메모리 액세스에 최적화 된 인덱스에 대 한 정보를 반환 하지 않습니다.sys.dm_db_index_usage_stats does not return information about memory-optimized indexes. 메모리 액세스에 최적화 된 인덱스 사용에 대 한 정보를 참조 하십시오. sys.dm_db_xtp_index_stats( Transact SQL ) .For information about memory-optimized index use, see sys.dm_db_xtp_index_stats (Transact-SQL).


호출에서이 뷰를 Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse 또는 병렬 데이터 웨어하우스Parallel Data Warehouse를 사용 하 여 sys.dm_pdw_nodes_db_index_usage_stats합니다.To call this view from Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse or 병렬 데이터 웨어하우스Parallel Data Warehouse, use sys.dm_pdw_nodes_db_index_usage_stats.

열 이름Column name 데이터 형식Data type DescriptionDescription
database_iddatabase_id smallintsmallint 테이블 또는 뷰가 정의되어 있는 데이터베이스의 ID입니다.ID of the database on which the table or view is defined.
object_idobject_id intint 인덱스가 정의되어 있는 테이블 또는 뷰의 ID입니다.ID of the table or view on which the index is defined
index_idindex_id intint 인덱스의 ID입니다.ID of the index.
user_seeksuser_seeks bigintbigint 사용자 쿼리별 검색(Seek) 수입니다.Number of seeks by user queries.
user_scansuser_scans bigintbigint 사용 하지 않은 사용자 쿼리 별 검색 수 ' 검색 ' 조건자입니다.Number of scans by user queries that did not use 'seek' predicate.
user_lookupsuser_lookups bigintbigint 사용자 쿼리별 책갈피 수입니다.Number of bookmark lookups by user queries.
user_updatesuser_updates bigintbigint 사용자 쿼리별 업데이트 수입니다.Number of updates by user queries. 이 Insert, Delete, 포함 하 고 작업을 수행 하지 실제 적용 되는 행의 수를 나타내는 업데이트 합니다.This includes Insert, Delete, and Updates representing number of operations done not the actual rows affected. 예를 들어 하나의 문에서 1000 개의 행을 삭제 하면이 개수를 1 씩For example, if you delete 1000 rows in one statement, this count increments by 1
last_user_seeklast_user_seek datetimedatetime 마지막 사용자 검색(Seek) 시간입니다.Time of last user seek
last_user_scanlast_user_scan datetimedatetime 마지막 사용자 검색(Scan) 시간입니다.Time of last user scan.
last_user_lookuplast_user_lookup datetimedatetime 마지막 사용자 조회 시간입니다.Time of last user lookup.
last_user_updatelast_user_update datetimedatetime 마지막 사용자 업데이트 시간입니다.Time of last user update.
system_seekssystem_seeks bigintbigint 시스템 쿼리별 검색(Seek) 수입니다.Number of seeks by system queries.
system_scanssystem_scans bigintbigint 시스템 쿼리별 검색(Scan) 수입니다.Number of scans by system queries.
system_lookupssystem_lookups bigintbigint 시스템 쿼리별 조회 수입니다.Number of lookups by system queries.
system_updatessystem_updates bigintbigint 시스템 쿼리별 업데이트 수입니다.Number of updates by system queries.
last_system_seeklast_system_seek datetimedatetime 마지막 시스템 검색(Seek) 시간입니다.Time of last system seek.
last_system_scanlast_system_scan datetimedatetime 마지막 시스템 검색(Scan) 시간입니다.Time of last system scan.
last_system_lookuplast_system_lookup datetimedatetime 마지막 시스템 조회 시간입니다.Time of last system lookup.
last_system_updatelast_system_update datetimedatetime 마지막 시스템 업데이트 시간입니다.Time of last system update.
pdw_node_idpdw_node_id intint 적용 대상: Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse,Applies to: Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse, 병렬 데이터 웨어하우스Parallel Data Warehouse

이 배포에 있는 노드에 대 한 식별자입니다.The identifier for the node that this distribution is on.


한 번의 쿼리 실행으로 지정된 인덱스에 대한 개별적인 검색(Seek), 검색(Scan), 조회 또는 업데이트를 수행하면 해당 인덱스를 사용하는 것으로 계산되어 이 뷰에서 해당 카운터를 증가시킵니다.Every individual seek, scan, lookup, or update on the specified index by one query execution is counted as a use of that index and increments the corresponding counter in this view. 통계 수집을 위한 검색과 같이 내부적으로 생성된 쿼리에 의한 작업과 사용자 제공 쿼리에 의한 작업의 경우 모두 정보가 보고됩니다.Information is reported both for operations caused by user-submitted queries, and for operations caused by internally generated queries, such as scans for gathering statistics.

user_updates 카운터의 삽입으로 실행 된 인덱스 유지 관리 수준을 나타냅니다., 업데이트 또는 원본 테이블이 나 보기에 대 한 작업을 삭제 합니다.The user_updates counter indicates the level of maintenance on the index caused by insert, update, or delete operations on the underlying table or view. 이 뷰를 사용하여 어떤 인덱스가 사용자 응용 프로그램에서만 조금 사용되는지You can use this view to determine which indexes are used only lightly by your applications. 또는 유지 관리 오버헤드를 유발하는지를 확인할 수 있습니다.You can also use the view to determine which indexes are incurring maintenance overhead. 필요한 경우 유지 관리 오버헤드를 유발하지만 쿼리에 거의 사용되지 않거나 전혀 사용되지 않는 인덱스를 삭제할 수도 있습니다.You may want to consider dropping indexes that incur maintenance overhead, but are not used for queries, or are only infrequently used for queries.

SQL ServerSQL Server(MSSQLSERVER) 서비스를 시작할 때마다 카운터는 빈 상태로 초기화됩니다.The counters are initialized to empty whenever the SQL ServerSQL Server (MSSQLSERVER) service is started. 또한 데이터베이스가 분리되거나 종료될 때마다(예: AUTO_CLOSE가 ON으로 설정된 경우) 데이터베이스와 관련된 모든 행이 제거됩니다.In addition, whenever a database is detached or is shut down (for example, because AUTO_CLOSE is set to ON), all rows associated with the database are removed.

에 행이 추가 인덱스를 사용 하면 sys.dm_db_index_usage_stats 인덱스에 대 한 행이 아직 없는 경우.When an index is used, a row is added to sys.dm_db_index_usage_stats if a row does not already exist for the index. 행이 추가되면 초기에 해당 카운터가 0으로 설정됩니다.When the row is added, its counters are initially set to zero.

업그레이드 하는 동안 SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012SQL Server 2012, 또는 SQL Server 2014SQL Server 2014, sys.dm_db_index_usage_stats에서 항목이 제거 됩니다.During upgrade to SQL Server 2008 R2SQL Server 2008 R2, SQL Server 2012SQL Server 2012, or SQL Server 2014SQL Server 2014, entries in sys.dm_db_index_usage_stats are removed. 부터는 SQL Server 2016SQL Server 2016, 이전에 있을 때 항목이 유지 되 SQL Server 2008 R2SQL Server 2008 R2합니다.Beginning with SQL Server 2016SQL Server 2016, entries are retained as they were prior to SQL Server 2008 R2SQL Server 2008 R2.


SQL ServerSQL Server, 필요 VIEW SERVER STATE 권한.On SQL ServerSQL Server, requires VIEW SERVER STATE permission.
SQL 데이터베이스SQL Database, 필요는 VIEW DATABASE STATE 데이터베이스에는 권한이 있습니다.On SQL 데이터베이스SQL Database, requires the VIEW DATABASE STATE permission in the database.

관련 항목:See Also

인덱스 관련 동적 관리 뷰 및 함수 (Transact-SQL) Index Related Dynamic Management Views and Functions (Transact-SQL)
sys.dm_db_index_physical_stats(Transact-SQL) sys.dm_db_index_physical_stats (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL) sys.dm_db_index_operational_stats (Transact-SQL)
sys.indexes(Transact-SQL) sys.indexes (Transact-SQL)
sys.objects ( Transact SQL ) sys.objects (Transact-SQL)
성능 모니터링 및 튜닝Monitor and Tune for Performance