Apabila mencari pangkalan data untuk kata kunci tertentu merentas berbilang lajur, dua pendekatan yang biasa digunakan ialah MATCH AGAINST dan LIKE. Walau bagaimanapun, pilihan antara kedua-duanya bergantung pada prestasi dan fleksibiliti yang diperlukan.
MATCH AGAINST menggunakan pengindeksan teks penuh, yang jauh lebih pantas untuk set data yang besar. Ia mencari padanan tepat perkataan atau frasa dan memerlukan kata kunci tertentu secara keseluruhannya untuk hadir. Sebagai contoh, pertanyaan untuk "foo" DAN "bar" menggunakan MATCH AGAINST tidak akan mengembalikan hasil jika teks mengandungi "xxfoo".
Sebaliknya, LIKE membenarkan padanan separa dan penggunaan kad bebas. Ia melakukan imbasan jadual penuh, menggabungkan lajur yang ditentukan dan membandingkannya dengan kata kunci. Walaupun pendekatan ini kurang cekap, ia membolehkan keupayaan padanan yang lebih luas.
Oleh itu, jika carian yang ketat dan pantas diperlukan, MATCH AGAINST adalah penyelesaian pilihan. Walau bagaimanapun, jika padanan separa atau fleksibiliti dalam pemilihan kata kunci adalah penting, LIKE kekal sebagai pilihan yang berdaya maju.
Kemas kini:
MySQL 5.6 dan kemudian melanjutkan sokongan untuk pengindeksan teks penuh kepada jadual InnoDB, menjadikan MATCH AGAINST sebagai pilihan yang lebih menarik untuk senario sensitif prestasi.
Atas ialah kandungan terperinci PADAN LAWAN atau SUKA: Kaedah Carian SQL Manakah yang Menawarkan Prestasi dan Fleksibiliti Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!