如何为具有1亿条记录的表执行相似查询的执行

时间:2017-11-06 08:03:50

标签: mysql amazon-web-services

我正在开展一个项目,我们在一张桌子上有1亿条记录。在该表上,我们执行不同的查询,但是对标题的查询花费了太多时间。在时间表是在innoDB中。我们正在使用aws rds。 AWS RDS不允许我们将innoDB转换为MyISAM。如果我们使用innoDb,那么可能是为类似查询加快执行时间的解决方案。

查询与此完全相同

select table_id from table where title like '%keyword%' limit 10000000,20

主要问题来自于使用'喜欢'具有更高的限制偏移。 假设我们得到的行在表的最后一行找到比查询花费太多时间来跳过第一百万条记录,同时执行更高偏移的限制。

1 个答案:

答案 0 :(得分:0)

1。)对于MySQL,你不能那么多,你可以在你的title字段上创建一个索引,并像现在一样使用LIKE语句。

2。)另一个解决方案是MySQL全文搜索:

https://dev.mysql.com/doc/refman/5.7/en/fulltext-natural-language.html

3.。)最后一件事是使用像Solr或Sphinx这样的索引服务器,但是要运行该服务器还有很多工作要做,但这取决于你在最后编写索引的数量以及它应该有多快。