sys.dm_db_index_usage_stats (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform 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.
Lihat 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