Faedah Prestasi Mengindeks Medan Boolean
Dalam banyak sistem pangkalan data, andaian biasa ialah pengindeksan medan Boolean tidak memberikan sebarang keuntungan prestasi yang ketara . Walau bagaimanapun, senario dunia sebenar mungkin mencabar tanggapan ini.
Prestasi untuk Mendapatkan Rekod Khusus
Pertimbangkan pertanyaan dengan penapisan klausa WHERE pada medan Boolean, seperti WHERE isok=1. Apabila terdapat rekod minimum yang sepadan dengan keadaan ini, indeks mungkin tidak menawarkan faedah yang ketara. Enjin boleh mengimbas jadual dengan pantas untuk mencari baris yang berkaitan.
Prestasi untuk Set Data Besar
Walau bagaimanapun, apabila berurusan dengan set data yang luas dengan peratusan kecil rekod yang memenuhi keadaan Boolean, indeks boleh meningkatkan prestasi secara mendadak. Enjin mengelak daripada mengimbas seluruh jadual dengan menggunakan indeks untuk mendapatkan semula rekod yang diingini dengan cekap.
Dalam kes sedemikian, enjin boleh mencari dengan cepat dan tepat halaman jadual yang berkaitan dengan merentasi indeks. Pendekatan terpilih ini mengurangkan dengan ketara masa yang dihabiskan untuk mengimbas halaman yang tidak berkaitan, menyebabkan pertanyaan dipercepatkan dengan ketara.
Contoh:
Seperti yang ditunjukkan dalam contoh praktikal, pertanyaan mengenai jadual dengan 4 juta baris yang mencari kira-kira 1000 baris dengan bendera Boolean tertentu telah dipercepatkan dengan ketara dengan menambahkan indeks pada medan Boolean. Masa pelaksanaan pertanyaan menurun daripada lebih 9 saat kepada pecahan sesaat.
Atas ialah kandungan terperinci Adakah Pengindeksan Medan Boolean Menawarkan Faedah Prestasi Sebenar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!