Cara menggunakan indeks teks penuh MySQL untuk meningkatkan prestasi carian
ALTER TABLE
untuk menambah indeks teks penuh. Berikut ialah contoh kod: ALTER TABLE
语句添加全文索引即可。以下是一个示例代码:ALTER TABLE `table_name` ADD FULLTEXT(`column_name`);
table_name
是要创建全文索引的表名,column_name
是要添加全文索引的列名。
SELECT * FROM `table_name` WHERE MATCH(`column_name`) AGAINST ('keyword');
可以将table_name
替换成要搜索的表名,column_name
替换成要搜索的列名,keyword
SELECT * FROM `table_name` WHERE MATCH(`column_name`) AGAINST ('keyword' IN BOOLEAN MODE);
table_name
ialah nama jadual untuk membuat indeks teks penuh, column_name
ialah nama lajur untuk menambah indeks teks penuh . SELECT * FROM `table_name` WHERE MATCH(`column_name`) AGAINST ('keyword*' IN BOOLEAN MODE);
table_name
dengan jadual nama yang hendak dicari, < Gantikan kod>nama_kolom dengan nama lajur yang hendak dicari dan Carian padanan tepat:
SELECT * FROM `table_name` WHERE MATCH(`column_name`) AGAINST ('keyword1 +keyword2' IN BOOLEAN MODE);
SET ft_min_word_len = 2;
Untuk meningkatkan lagi prestasi carian teks penuh anda, terdapat beberapa petua dan strategi yang boleh anda gunakan. Berikut ialah beberapa kaedah penalaan prestasi carian teks penuh yang lazim:
SET ft_stopword_file = 'path/to/stopwords.txt';
SELECT * FROM `table_name` WHERE MATCH(`column_name`) AGAINST ('+keyword1 +keyword2' IN BOOLEAN MODE);
-- 创建全文索引 ALTER TABLE `articles` ADD FULLTEXT(`title`, `content`); -- 搜索文章 SELECT * FROM `articles` WHERE MATCH(`title`, `content`) AGAINST ('MySQL' IN BOOLEAN MODE);
Atas ialah kandungan terperinci Bagaimana untuk meningkatkan prestasi carian menggunakan indeks teks penuh MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!