sys.dm_db_index_usage_stats (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Mengembalikan jumlah jenis operasi indeks yang berbeda dan waktu setiap jenis operasi terakhir dilakukan.

Di Azure SQL Database, tampilan manajemen dinamis tidak dapat mengekspos informasi yang akan memengaruhi penahanan database atau mengekspos informasi tentang database lain yang dapat diakses pengguna. Untuk menghindari mengekspos informasi ini, setiap baris yang berisi data yang bukan milik penyewa yang tersambung difilter.

Catatan

DMV sys.dm_db_index_usage_stats tidak mengembalikan informasi tentang indeks atau indeks spasial yang dioptimalkan memori. Untuk informasi tentang penggunaan indeks yang dioptimalkan memori, lihat sys.dm_db_xtp_index_stats (Transact-SQL).

Catatan

Untuk memanggil tampilan ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan sys.dm_pdw_nodes_db_index_usage_stats. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Nama kolom Jenis data Deskripsi
database_id smallint ID database tempat tabel atau tampilan ditentukan.

Di Azure SQL Database, nilainya unik dalam satu database atau kumpulan elastis, tetapi tidak dalam server logis.
object_id int ID tabel atau tampilan tempat indeks ditentukan
index_id int ID indeks.
user_seeks bigint Jumlah pencarian menurut kueri pengguna.
user_scans bigint Jumlah pemindaian menurut kueri pengguna yang tidak menggunakan predikat 'cari'.
user_lookups bigint Jumlah pencarian marka buku menurut kueri pengguna.
user_updates bigint Jumlah pembaruan menurut kueri pengguna. Ini termasuk Sisipkan, Hapus, dan Pembaruan yang mewakili jumlah operasi yang dilakukan bukan baris aktual yang terpengaruh. Misalnya, jika Anda menghapus 1000 baris dalam satu pernyataan, jumlah ini bertambah 1
last_user_seek datetime Waktu pencarian pengguna terakhir
last_user_scan datetime Waktu pemindaian pengguna terakhir.
last_user_lookup datetime Waktu pencarian pengguna terakhir.
last_user_update datetime Waktu pembaruan pengguna terakhir.
system_seeks bigint Jumlah pencarian menurut kueri sistem.
system_scans bigint Jumlah pemindaian menurut kueri sistem.
system_lookups bigint Jumlah pencarian menurut kueri sistem.
system_updates bigint Jumlah pembaruan menurut kueri sistem.
last_system_seek datetime Waktu pencarian sistem terakhir.
last_system_scan datetime Waktu pemindaian sistem terakhir.
last_system_lookup datetime Waktu pencarian sistem terakhir.
last_system_update datetime Waktu pembaruan sistem terakhir.
pdw_node_id int Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW)

Pengidentifikasi untuk simpul tempat distribusi ini aktif.

Keterangan

Setiap pencarian, pemindaian, pencarian, atau pembaruan individu pada indeks yang ditentukan oleh satu eksekusi kueri dihitung sebagai penggunaan indeks tersebut dan meningkatkan penghitung yang sesuai dalam tampilan ini. Informasi dilaporkan baik untuk operasi yang disebabkan oleh kueri yang dikirimkan pengguna, dan untuk operasi yang disebabkan oleh kueri yang dihasilkan secara internal, seperti pemindaian untuk mengumpulkan statistik.

Kolom user_updates adalah penghitung pemeliharaan pada indeks yang disebabkan oleh operasi sisipkan, perbarui, atau hapus pada tabel atau tampilan yang mendasar. Anda dapat menggunakan tampilan ini untuk menentukan indeks mana yang hanya digunakan dengan ringan oleh aplikasi Anda. Anda juga dapat menggunakan tampilan untuk menentukan indeks mana yang menimbulkan overhead pemeliharaan. Anda mungkin ingin mempertimbangkan untuk menghilangkan indeks yang menimbulkan overhead pemeliharaan, tetapi tidak digunakan untuk kueri, atau hanya jarang digunakan untuk kueri.

Penghitung diinisialisasi untuk kosong setiap kali mesin database dimulai. sqlserver_start_time Gunakan kolom di sys.dm_os_sys_info untuk menemukan waktu mulai mesin database terakhir. Selain itu, setiap kali database dilepas atau dimatikan (misalnya, karena AUTO_CLOSE diatur ke AKTIF), semua baris yang terkait dengan database dihapus.

Saat indeks digunakan, baris ditambahkan ke sys.dm_db_index_usage_stats jika baris belum ada untuk indeks. Saat baris ditambahkan, penghitungnya awalnya diatur ke nol.

Selama peningkatan ke SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), atau SQL Server 2014 (12.x), entri masuk sys.dm_db_index_usage_stats dihapus. Dimulai dengan SQL Server 2016 (13.x), entri dipertahankan seperti sebelum SQL Server 2008 R2 (10.50.x).

Izin

Pada SQL Server dan SQL Managed Instance, memerlukan VIEW SERVER STATE izin.

Pada tujuan layanan SQL Database Basic, S0, dan S1, dan untuk database di kumpulan elastis, akun admin server, akun admin Microsoft Entra, atau keanggotaan dalam##MS_ServerStateReader## peran server diperlukan. Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE STATE pada database, atau keanggotaan dalam ##MS_ServerStateReader## peran server diperlukan.

Izin untuk SQL Server 2022 dan yang lebih baru

Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.

Baca juga

Tampilan dan Fungsi Manajemen Dinamis Terkait Indeks (Transact-SQL)
sys.dm_db_index_physical_stats (T-SQL)
sys.dm_db_index_operational_stats (T-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.dm_os_sys_info (T-SQL)
Monitor dan Selaraskan Kinerja