开发者社区> 问答> 正文

下面的mysql查询要如何优化呢?

SELECT * FROM article WHERE ( (pubdate` BETWEEN '1362891985' AND '1362978385' ) )
AND ( is_public = 1 ) ORDER BY id asc LIMIT 10`
显示行 10 - 9 ( 10 总计, 查询花费 29.6027 秒) [id: 77669 - 77678]
一共也就8w条数据。
pubdate和is_public都建立了索引,pubdate和is_public我刚才又加了联合索引。
可是,这耗时也太久了吧。。。时间间隔是86400s,你懂得。
SELECT * FROM article WHERE ( (pubdate BETWEEN '1362891985' AND '1362978385' ) ) AND ( is_public = 1 ) ORDER BY id asc LIMIT 10
这句sql是需要换个写法呢?还是索引上我做的不对呢?

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

    7
    或者建一个pubdate,is_public,id的联合索引.

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

相关电子书

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

相关镜像