Strategi Pengindeksan Terbaik untuk Pertanyaan dengan Klausa LIKE
Prestasi pangkalan data boleh dipengaruhi dengan ketara oleh kehadiran klausa LIKE dalam pertanyaan. Apabila berurusan dengan pertanyaan seperti yang disediakan, memilih indeks yang paling sesuai boleh menjadi mencabar.
Pertanyaan yang disediakan menggabungkan klausa LIKE dalam berbilang medan, bersama operator AND, OR dan IN. Untuk menangani kerumitan ini, adalah penting untuk memahami batasan pengindeksan dengan syarat LIKE.
Merujuk dokumentasi MySQL, kami mendapati bahawa indeks B-tree, yang biasa digunakan untuk perbandingan kesamaan dan julat, boleh dimanfaatkan untuk perbandingan LIKE hanya apabila corak yang disediakan tidak bermula dengan aksara kad bebas.
Dalam kes ini, kerana salah satu ungkapan SUKA sepadan dengan ini kriteria, indeks komposit pada panduan_penggunaan dan nama muncul sebagai pilihan terbaik. Indeks ini akan memudahkan mendapatkan semula hasil yang cekap berdasarkan ungkapan SUKA kedua.
Malangnya, penggunaan penuh indeks dihalang oleh kehadiran ungkapan SUKA lain dan perbandingan NOT IN. Untuk meningkatkan prestasi, pertimbangkan untuk menilai kemungkinan penstrukturan semula pertanyaan. Dengan menyediakan skema jadual dan data sampel, pakar mungkin menawarkan cerapan lanjut dan mencadangkan cara untuk mengoptimumkan pertanyaan.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Prestasi Pangkalan Data untuk Pertanyaan dengan Klausa LIKE Berbilang dan Operator Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!