Q:
Apakah yang dilakukan defragmentasi untuk sistem SQL?
A:Penyelenggaraan dan pemantauan pangkalan data yang berterusan adalah elemen utama yang perlu dipertimbangkan untuk menjalankan sistem SQL dengan lancar. Apabila pangkalan data dicipta dan dihuni, pada mulanya data diletakkan di lokasi fizikal bersebelahan (sekiranya terdapat ruang fizikal yang mencukupi). Oleh itu, dalam kes ini, tempahan logik dan pesanan fizikal data mungkin sama, dan ia meningkatkan prestasi.
Apabila data diubah suai, dipadam atau dikemas kini, indeks relevan juga dikemas kini secara automatik untuk mencerminkan perubahan tersebut. Akibatnya, indeks menjadi terfragmentasi dan maklumat tersebar di seluruh ruang penyimpanan. Ia mengubah pesanan fizikal data (kerana ia kehilangan peruntukan bersebelahan) dan pengambilan menjadi memakan waktu, menyebabkan prestasi database lambat.
Penyelesaian masalah ini adalah melakukan defragmentasi secara berkala. Defragmentation sebenarnya membina semula atau menyusun semula indeks untuk menyesuaikan pesanan logik data dengan pesanan fizikal. Sebelum melaksanakan sebarang operasi defragmentasi, semua indeks perlu dianalisis dengan betul. Keputusan analisis menentukan sama ada penyusunan semula atau pembinaan semula diperlukan.
Dua operasi utama yang dilakukan oleh proses defragmentation ialah:
- Penyusunan semula Indeks - Penyusunan semula indeks dilakukan apabila pemecahannya berada pada tahap yang rendah dan prestasi tidak terjejas teruk. Proses ini sebenarnya melakukan penyesuaian semula fizikal halaman peringkat daun agar sesuai dengan pesanan yang logik. Ia tidak membuat sebarang halaman baru; ia hanya mengkaji semula halaman sedia ada. Penyusunan semula boleh dilakukan semasa sistem dalam talian tanpa menyekat operasi pangkalan data biasa.
- Pembentukan semula indeks - Proses membina semula indeks dilakukan apabila pemecahannya berada pada tahap yang lebih dalam dan prestasi terlalu perlahan. Dalam proses ini, indeks asal jatuh dan indeks baru segar dibina. Oleh itu, pesanan fizikal dan logik ditetapkan semula kepada kedudukan asal dan prestasi meningkatkan manifold. Pembina semula juga boleh membuat halaman baharu seperti yang diperlukan, dan ia boleh dilakukan dalam mod luar talian atau dalam talian.
Oleh itu, defragmentasi harus menjadi sebahagian daripada proses penyelenggaraan SQL Server dan perlu diambil dengan serius. Pelan analisis permintaan yang betul perlu dibina dan diikuti. Berdasarkan hasil analisa pertanyaan, pembentukan semula atau penyusunan semula indeks mesti dilakukan. Ringkasnya, defragmentasi adalah penting untuk peningkatan prestasi sistem SQL.