Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2025 (17.x)
Azure SQL Database
Database SQL di Microsoft Fabric
Mengembalikan wawasan real-time ke dalam kesehatan dan performa indeks vektor. Gunakan tampilan ini untuk memantau operasi pemeliharaan indeks vektor dan mengidentifikasi indeks yang perlu diperhatikan.
| Nama kolom | Jenis data | Deskripsi |
|---|---|---|
object_id |
int | ID objek tabel. |
index_id |
int | ID Indeks. |
approximate_staleness_percent |
desimal(10,2) | Persentase perubahan yang menunggu pembaruan indeks. Nilai yang lebih tinggi menunjukkan perubahan yang lebih tertunda. |
quantized_keys_used_percent |
desimal(10,2) | Persentase ruang kunci yang digunakan oleh indeks. |
last_background_task_time |
datetime2 | Tanda waktu pemeliharaan latar belakang terakhir. Menunjukkan kapan operasi pemeliharaan terakhir selesai. |
last_background_task_succeeded |
bit | Status keberhasilan tugas pemeliharaan terakhir. 1 menunjukkan keberhasilan, 0 menunjukkan kegagalan. |
last_background_task_duration_seconds |
bigint | Durasi tugas pemeliharaan terakhir dalam hitungan detik. |
last_background_task_processed_inserts |
bigint | Jumlah operasi sisipan yang diproses dalam tugas pemeliharaan terakhir. |
last_background_task_processed_deletes |
bigint | Jumlah operasi penghapusan yang diproses dalam tugas pemeliharaan terakhir. |
last_background_task_error_message |
nvarchar(maks) | Pesan kesalahan jika tugas pemeliharaan terakhir gagal. NULL jika tugas berhasil. |
Keterangan
Tampilan ini mengembalikan informasi untuk semua indeks vektor dalam database saat ini. Indeks vektor melakukan pemeliharaan latar belakang untuk menggabungkan perubahan DML (sisipan, pembaruan, penghapusan). Kolom approximate_staleness_percent menunjukkan berapa banyak perubahan yang tertunda dimasukkan ke dalam struktur indeks.
Menganalisis approximate_staleness_percent
Kolom approximate_staleness_percent menunjukkan persentase perubahan data apa yang belum diproses oleh tugas pemeliharaan latar belakang yang menjaga indeks vektor Anda up-to-date. Saat Anda menyisipkan, memperbarui, atau menghapus baris dalam tabel dengan indeks vektor, perubahan tersebut tidak segera dimasukkan ke dalam struktur grafik DiskANN. Sebagai gantinya, perubahan diantrekan dan diproses oleh tugas pemeliharaan latar belakang. Persentase kedaluarsa turun kembali ke arah 0% saat backlog diproses.
Misalnya, jika Anda memiliki tabel dengan 10.000 baris dan indeks vektor, dan Anda menyisipkan 500 baris baru, persentase kedaluarsa adalah sekitar 5% (500 perubahan tertunda dari total 10.500 baris). Saat pemeliharaan latar belakang memproses 500 sisipan ini, persentase keusangan turun kembali ke nol.
Dampak pada kueri VECTOR_SEARCH
VECTOR_SEARCH menggunakan status grafik DiskANN saat ini yang dikombinasikan dengan perubahan tertunda yang belum sepenuhnya dimasukkan. Ini berarti:
- Bahkan ketika keusangan lebih tinggi dari nol, kueri Anda
VECTOR_SEARCHmasih mengembalikan hasil dan menyertakan baris yang baru dimasukkan atau diperbarui. - Namun, algoritma pencarian tidak dapat menggunakan struktur grafik penuh untuk peringkat optimal sampai pemeliharaan latar belakang selesai.
- Akurasi peringkat mungkin berkurang. Skor dan pengurutan kesamaan mungkin kurang optimal untuk baris yang belum sepenuhnya terintegrasi ke dalam struktur indeks.
Kualitas pencarian adalah yang terbaik ketika semua vektor diintegrasikan dengan benar ke dalam grafik dan persentase keusangan adalah nol.
Menginterpretasikan nilai kedaluarsa
Tidak ada ambang universal untuk keusangan "tinggi" karena tergantung pada pola beban kerja Anda. Gunakan panduan ini untuk menginterpretasikan nilai yang Anda lihat:
- Selama beban batch: 20-30% keusangan yang turun mendekati nol dalam hitungan menit diharapkan dan normal.
- Selama operasi reguler: 0-5% keusangan menunjukkan pemeliharaan latar belakang mengimbangi beban kerja Anda.
Selidiki kesehatan indeks Anda jika Anda mengalami salah satu skenario berikut:
- Keusangan tinggi berkelanjutan: Nilai yang konsisten di atas 10-15% selama operasi reguler menyarankan pemeliharaan latar belakang tidak dapat mengikuti laju DML Anda.
-
Pengenalan berkurang: Anda melihat penurunan terukur dalam relevansi
VECTOR_SEARCHhasil. -
Kegagalan tugas: Nilainya
last_background_task_succeededadalah 0. Proses latar belakang mengalami kesalahan dan tidak dapat memperbarui indeks.
Kapan harus membangun kembali indeks vektor
Pertimbangkan untuk membangun kembali indeks vektor saat Anda mengamati performa atau penarikan kembali penurunan, tidak hanya didasarkan pada persentase keusangan. Skenario pembangunan ulang meliputi:
- Penurunan kualitas pengenalan yang signifikan: Pencarian vektor mengembalikan lebih sedikit hasil yang relevan dari yang diharapkan
- Penggantian data skala besar: Saat sebagian besar atau semua penyematan diganti (misalnya, penyematan ulang dengan model baru)
Untuk panduan terperinci tentang kualitas data dan skenario pemeliharaan, lihat Panduan kualitas dan pemeliharaan data untuk indeks vektor.
Pantau metrik ini untuk memahami pola pemeliharaan indeks dan mengidentifikasi indeks yang membutuhkan perhatian.
Permissions
Memerlukan izin VIEW DATABASE STATE pada database.
Examples
A. Memantau semua indeks vektor
Kueri berikut memantau semua indeks vektor dalam database saat ini, memperlihatkan status keusangan dan pemeliharaan.
SELECT
DB_NAME() AS database_name,
OBJECT_NAME(object_id) AS table_name,
index_id,
approximate_staleness_percent,
last_background_task_succeeded
FROM sys.dm_db_vector_indexes
ORDER BY approximate_staleness_percent DESC;
B. Mengidentifikasi indeks yang membutuhkan perhatian
Kueri berikut menemukan indeks vektor dengan keusangan tinggi atau kegagalan pemeliharaan terbaru.
SELECT
OBJECT_NAME(object_id) AS table_name,
approximate_staleness_percent,
last_background_task_error_message
FROM sys.dm_db_vector_indexes
WHERE
approximate_staleness_percent > 15.0 -- Example value, adjust based on your workload
OR last_background_task_succeeded = 0 -- Recent failure
ORDER BY approximate_staleness_percent DESC;