Fungsi FIND_IN_SET MySQL terkenal kerana tidak menggunakan indeks, mengakibatkan pertanyaan yang tidak cekap. Walau bagaimanapun, terdapat pendekatan alternatif untuk mencapai gelagat pengindeksan yang diingini apabila berurusan dengan senarai yang dipisahkan koma.
Teknik yang diterangkan dalam jawapan yang disediakan mencadangkan penggunaan pernyataan yang disediakan dengan parameter menerima rentetan dalam bentuk senarai yang dipisahkan koma. Dengan menggunakan jenis julat dengan kunci bukan NULL dalam pernyataan yang disediakan, ia memastikan bahawa indeks akan digunakan apabila melaksanakan klausa IN.
Sebagai contoh, pertanyaan berikut melakukan carian julat dengan indeks pada Lajur 'id':
explain select * from ratings where id in (2331425, 430364, 4557546, 2696638, 4510549, ...)
Walaupun pendekatan ini membenarkan pertanyaan terindeks yang cekap, adalah penting untuk mempertimbangkan langkah berjaga-jaga berikut:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Jadikan Fungsi FIND_IN_SET MySQL Menggunakan Indeks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!