开发者社区> 问答> 正文

mysql加了limit变慢,什么问题?

`SELECT * FROM pre_forum_post WHERE tid=6584344
AND inv='0' AND uid='6547981' ORDER BY dateline DESC limit 4;`
1
上面一条正常执行需要16-20秒.
`SELECT * FROM pre_forum_postWHERE tid=6584344
AND inv='0' AND uid='6547981' ORDER BY dateline DESC ;`
2
下面的只需要0.2秒左右.请大神帮帮忙.

展开
收起
落地花开啦 2016-02-26 18:00:17 4292 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    走的索引不一样, 第一个 key 是 dateline, 第二个是 authorid, 根据业务建议优化一下索引.
    WHERE + ORDER BY的索引优化,形如:
    SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort];
    建立一个联合索引(columnX,sort)来实现order by 优化。

    2019-07-17 18:48:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像