Rumah > pangkalan data > tutorial mysql > Bolehkah Pengindeksan Meningkatkan Prestasi Kueri SEPERTI Berbilang Lajur MySQL?

Bolehkah Pengindeksan Meningkatkan Prestasi Kueri SEPERTI Berbilang Lajur MySQL?

Mary-Kate Olsen
Lepaskan: 2024-12-13 02:32:10
asal
913 orang telah melayarinya

Can Indexing Improve MySQL's Multi-Column LIKE Query Performance?

Mengoptimumkan Pertanyaan LIKE Berbilang Lajur dalam MySQL

Pertanyaan PILIH perlahan menggunakan klausa LIKE pada berbilang lajur boleh menjadi hambatan prestasi. Dalam artikel ini, kami akan meneroka sama ada pengindeksan boleh meningkatkan kelajuan pertanyaan dan menangani kebimbangan tentang penggunaan cakera dan prestasi INSERT/DELETE.

Bolehkah Indeks Meningkatkan Prestasi LIKE?

Malangnya, indeks tidak berkesan untuk pertanyaan LIKE dalam MySQL kerana ia berfungsi dengan mengindeks bilangan aksara tetap bermula dari kiri. Dengan LIKE '%text%', boleh ada jumlah teks yang sewenang-wenangnya sebelum rentetan sasaran, menghalang penggunaan indeks.

Pendekatan Alternatif

Daripada menggunakan LIKE, pertimbangkan FTS (Carian Teks Penuh). FTS disokong untuk jadual MyISAM dan membolehkan pencarian yang cekap untuk padanan rentetan separa. Untuk jadual bukan MyISAM, melaksanakan sistem pengindeksan anda sendiri menggunakan jadual indeks yang berasingan untuk memetakan perkataan kepada ID boleh meniru fungsi FTS.

Penggunaan Cakera dan INSERT/DELETE Prestasi

Pengindeksan FTS boleh meningkatkan penggunaan cakera. Walau bagaimanapun, kesan pada operasi INSERT/DELETE adalah minimum. Ini kerana sisipan hanya menambah perkataan baharu pada indeks, yang dilakukan sebagai sebahagian daripada urus niaga, manakala memadamkan perkataan tanda untuk dialih keluar kemudian.

Kemas kini

MySQL 5.6 memperkenalkan sokongan FTS untuk jadual InnoDB, menawarkan pilihan yang mantap untuk meningkatkan prestasi LIKE pada pelbagai jenis jadual.

Atas ialah kandungan terperinci Bolehkah Pengindeksan Meningkatkan Prestasi Kueri SEPERTI Berbilang Lajur MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan