Gambaran umum fragmentasi indeks
Apa itu fragmentasi indeks dan mengapa saya harus fokus padanya: Fragmentasi ada ketika urutan logis dalam indeks (berdasarkan nilai kunci dalam indeks) tidak cocok dengan urutan fisik di halaman indeks di halaman indeks dalam indeks di halaman yang berisi indeks. Setiap kali operasi penyisipan, pembaruan, atau penghapusan dilakukan pada data yang mendasarinya, mesin database secara otomatis memodifikasi indeks. Misalnya, menambahkan baris ke tabel dapat menyebabkan baris terpisah menyimpan halaman yang ada dalam indeks untuk memberi ruang untuk menyisipkan kunci baru. Seiring waktu, modifikasi ini dapat menyebabkan informasi dalam indeks tersebar di database (berisi fragmen). Fragmentasi terjadi ketika urutan logis (berdasarkan nilai kunci) di halaman yang berisi indeks tidak cocok dengan urutan fisik dalam file data. Sejumlah besar indeks terfragmentasi dapat memperlambat performa kueri karena I/O tambahan diperlukan untuk menemukan data yang ditunjuk indeks. Lebih banyak I/O dapat menyebabkan aplikasi lambat merespons, terutama saat operasi pemindaian terlibat.
Memeriksa fragmentasi indeks database
Perintah:
Ada dua cara untuk mendefrag: mengatur ulang dan membuat ulang indeks, membangun kembali indeks mengacu pada menghapus indeks lama dan membangun kembali indeks baru dalam transaksi, yang merebut kembali ruang hard disk indeks asli dan mengalokasikan ruang penyimpanan baru untuk membuat struktur indeks. Mengatur ulang indeks mengacu pada tidak mengalokasikan ruang penyimpanan baru, mengatur ulang simpul daun struktur indeks berdasarkan ruang asli, sehingga urutan logis dan urutan fisik halaman data konsisten, dan membebaskan ruang berlebih dalam indeks.
Gunakan fungsi sys.dm_db_index_physical_stats untuk mendeteksi tingkat fragmentasi, bidang avg_fragmentation_in_percent persentase fragmen logis yang dikembalikan, secara umum, Microsoft merekomendasikan ambang batas 30%:
avg_fragmentation_in_percent >5% dan <=30%: MENGUBAH INDEKS MENGATUR ULANG; avg_fragmentation_in_percent >30%: UBAH INDEKS REKONDI;
avg_fragmentation_in_percent: Persentase fragmentasi indeks, jika fragmentasi kurang dari 10% ~ 20%, fragmentasi tidak mungkin menjadi masalah,Jika fragmentasi indeks berada pada 20% ~ 40%, fragmentasi bisa menjadi masalah, tetapi resolusi indeks dapat dihilangkan dengan reorganisasi indeks, dan fragmentasi skala besar (ketika fragmentasi lebih besar dari 40%) mungkin memerlukan rekonstruksi indeks.
Mengkueri informasi fragmentasi untuk semua indeks tabel tertentu
Pengindeksan ulang tabel
Bangun kembali indeks semua tabel di seluruh database
Sumber daya:Login hyperlink terlihat.
|