Bagaimanakah Indeks Teks Penuh Boleh Meningkatkan Prestasi untuk Pertanyaan LIKE \'%string%\' dalam InnoDB?

Susan Sarandon
Lepaskan: 2024-10-25 04:48:02
asal
759 orang telah melayarinya

How Can Fulltext Indexes Enhance Performance for LIKE '%string%' Queries in InnoDB?

Meningkatkan Prestasi MySQL untuk Pertanyaan LIKE '%string%' dalam InnoDB

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)
Salin selepas log masuk

Faedah Indeks Teks Penuh:

  • Prestasi carian yang dioptimumkan untuk pertanyaan terapung seperti LIKE '%whatever%'
  • Diperbaiki kecekapan dan kependaman yang dikurangkan untuk pertanyaan sedemikian

Pertimbangan Tambahan:

  • Pastikan pelayan MySQL menjalankan sekurang-kurangnya versi 5.6.4 untuk menggunakan InnoDB indeks teks penuh.
  • Pertanyaan pantau merancang untuk mengesahkan bahawa indeks teks penuh sedang digunakan dengan berkesan.
  • Pertimbangkan untuk mengoptimumkan saiz lajur kata kunci jika ia mengandungi data yang berlebihan atau tidak diperlukan.

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!