我想从很多记录中按名称搜索。当我使用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搜索上使用错误。有很大的不同。

我该如何使用?哪一个方便使用?

最佳答案

在这里不知道count的要求是什么,但是您可以尝试

select count(*) from contents where match(tags) against('а' IN BOOLEAN MODE);


希望能有所帮助

关于java - MySQL LIKE vs BOOLEAN MODE(FULLTEXT)在何处以及何时使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41235157/

10-11 22:43
查看更多