Pengindeksan reguler tidak dapat digunakan untuk meningkatkan kueri itu. Indeks MySQL adalah B-tree, yang berarti mereka dapat menemukan awalan kolom yang diindeks dengan sangat cepat. Tapi karena LIKE
your kueri memiliki %
di awal, tidak ada awalan unik untuk dicari. Jadi setiap baris harus dipindai agar sesuai dengan polanya.
Namun, MySQL juga mendukung pencarian teks lengkap. Ini membuat indeks semua kata di kolom, dan dapat menemukan kata-kata ini dengan cepat. Lihat dokumentasi untuk detailnya.
Jika Anda menggunakan LIMIT 10
, itu akan berhenti memindai segera setelah menemukan 10 baris pertama yang memenuhi ketentuan. Kecuali Anda juga menggunakan ORDER BY
-- kemudian ia harus menemukan semua baris sehingga dapat mengurutkannya sebelum memilih 10 yang pertama.