我得到了类似这样的查询(实际上我的查询更复杂,但您可以看到下面的内容发生了什么)
SELECT posts.id, posts.text, posts.date
FROM posts
WHERE posts.text LIKE '%keyword%'
ORDER BY posts.date DESC
LIMIT 0, 20";
但是我收到了很多帖子(> 40k),这个ORDER BY让一切都变得非常缓慢,扭转了大量的数据。如果我删除ORDER BY
,它会更快。
有没有办法获得最新的20个帖子而没有从搜索中获取所有数据,反转它,然后从排序的结果获得20个第一行?
答案 0 :(得分:0)
您可以尝试通过id desc
订购您的date
字段是日期类型吗?