我有一个非常大的数据库(10.000.000+),我使用全文搜索以合理的性能使用它。
但是有一个问题:在一种情况下,用户可以通过单击字母来按字母顺序搜索。然而我正在使用 LIKE 'C%' (例如),但这种搜索非常非常慢。
是否有可能通过 MATCH/AGAINST 通过字段的首字母查找所有数据集?
或者有人可以告诉我一种更快的方法,但不需要 MATCH/AGAINST 吗?
使用LIKE,搜索需要几分钟才能给出合理的数据响应,这不是唯一的方法。
最佳答案
如果您在具有如此多数据量的表中使用 like 'C%'
进行搜索,速度肯定会很慢。相反,您可以在查询中添加 limit
,例如搜索结果底部带有“显示更多”链接的前 50 条记录,点击链接后,将再次显示接下来的 50 条记录。这种方法可能会对您有所帮助。
关于mySQL 全文搜索具有特定首字母的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20322605/