Latar Belakang: Mengoptimumkan pertanyaan yang menggunakan LIKE '%string%' sintaks boleh mencabar, terutamanya dalam persekitaran InnoDB. Untuk menangani perkara ini, mari kita mendalami pilihan yang tersedia dan hadnya.
Batasan Pengindeksan Asas:
Mewujudkan indeks standard, seperti yang ditunjukkan dengan contoh ALTER TABLE ADD INDEX idxSearch (kata kunci);, tidak menyelesaikan isu prestasi untuk pertanyaan seperti SUKA '%whatever%'. Ini kerana indeks InnoDB dibina dari permulaan rentetan hingga akhir. Akibatnya, carian "terapung", di mana rentetan boleh muncul di mana-mana dalam medan, tidak boleh memanfaatkan indeks ini.
Memperkenalkan Indeks Teks Penuh:
Untuk carian rentetan fleksibel , indeks teks penuh mula dimainkan. Ia disesuaikan untuk senario di mana istilah carian boleh muncul di mana-mana dalam lajur diindeks. Sokongan InnoDB untuk indeks teks penuh pada versi 5.6.4 membolehkan memanfaatkan faedahnya walaupun dengan jadual InnoDB.
Pelaksanaan:
Untuk melaksanakan indeks teks penuh, laksanakan pertanyaan berikut :
ALTER TABLE example ADD FULLTEXT INDEX (keywords)
Faedah Indeks Teks Penuh:
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Indeks Teks Penuh Boleh Meningkatkan Prestasi untuk Pertanyaan LIKE \'%string%\' dalam InnoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!