我想通过名字搜索大量记录。当我使用MySQL LIKE
时,它会花费太多时间进行搜索。如果我在代码中使用fulltext
搜索match(name) against(*linebre*) IN BOOLEAN MODE
,会更快吗?
我检查了我的记录
MySQL赞
MariaDB [****]> select count(*) from contents where tags like "%а%";
+----------+
| count(*) |
+----------+
| 16927 |
+----------+
1 row in set (0.08 sec)
全文
MariaDB [****]> select count(*) from contents where match(tags) against('*а*' IN BOOLEAN MODE);
+----------+
| count(*) |
+----------+
| 6665 |
+----------+
1 row in set (0.06 sec)
似乎我在FULLTEXT
搜索时使用了错误。有很大的不同。
我该怎么用呢?哪一个很方便使用?
答案 0 :(得分:2)
此处不知道count
的要求是什么,但您可以尝试
select count(*) from contents where match(tags) against('а' IN BOOLEAN MODE);
希望有所帮助