开发者社区> 问答> 正文

3千万行记录的表,如何提高查询效率

有一个3千万行记录的表,表里有个字段是记录的时间,现在需要根据这个时间查询一段范围内的数据,另外还要关联其它几个表,做联合查询,最终需要的数据是联合查询出来的结果.
现在查询一天的数据就要跑300s以上,有啥办法可提高点效率?
1

展开
收起
落地花开啦 2016-02-18 17:22:50 2561 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人
    1. where 中用 UNIX_TIMESTAMP函数就用不到索引了,看看能不能把时间提前计算好, 如果实在因为业务问题不能, 也把where条件中 h.value>=1 放到前面
    2. 看看是不是对 g.name, h.clock, i.key, h.value, hs.name 加上 索引了(还有join涉及的字段)
    3. 把 group by 中 the_date 直接换成 h.clock
      然后看看执行计划什么的
    2019-07-17 18:44:13
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
Phoenix 全局索引原理与实践 立即下载
MySQL查询优化实战 立即下载