Mengoptimumkan Prestasi Operator LIKE MySQL dengan Wildcard
Pengendali LIKE MySQL, apabila digunakan dengan kad liar (cth., '%test%'), boleh memberi kesan ketara kepada prestasi pertanyaan. Memahami cara MySQL mengindeks dan mengoptimumkan pertanyaan sedemikian boleh membantu meningkatkan kelajuan pelaksanaan.
Penggunaan Indeks MySQL dengan Wildcard
MySQL boleh memanfaatkan indeks dengan berkesan apabila corak carian pengendali LIKE sepadan dengan corak tertentu. Ia boleh menggunakan indeks untuk bahagian rentetan yang mendahului kad bebas pertama. Sebagai contoh, dalam pertanyaan "foo LIKE 'abc%'", MySQL boleh menggunakan indeks untuk subrentetan 'abc'.
Batasan Operator LIKE
Walau bagaimanapun , apabila pengendali LIKE cuba memadankan perkataan di mana-mana dalam rentetan, menggunakan indeks standard mungkin tidak optimum. Dalam kes sedemikian, MySQL tidak boleh menggunakan indeks untuk mencari subrentetan yang sepadan dengan cekap.
Alternatif: Indeks PENUH
Untuk senario di mana perkataan perlu dipadankan di mana-mana dalam rentetan, pertimbangkan untuk menggunakan indeks FULLTEXT. Tidak seperti indeks standard, indeks FULLTEXT dibina khusus untuk mengendalikan operasi carian teks penuh. Ia membolehkan pemadanan istilah yang pantas dan cekap merentas volum besar data tekstual.
Sumber Tambahan
Untuk maklumat lanjut tentang indeks MySQL, rujuk: http://dev .mysql.com/doc/refman/5.1/en/mysql-indexes.html
Untuk butiran tentang carian MySQL FULLTEXT, lawati: http://dev.mysql.com/doc/refman/5.0/en /fulltext-search.html
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan Prestasi Pengendali SEPERTI MySQL dengan Kad Liar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!