MySQL 单表三千万条数据,怎么优化 count 查询?
資深大佬 : CodeXx 1
innodb,20 来个字段,每天有几十万条数据插入,在不做分表的情况下,怎么优化查询?现在是 count 查询很慢,5s 左右,带上查询条件比如近一个月就更慢了 10 多 s
大佬有話說 (46)
innodb,20 来个字段,每天有几十万条数据插入,在不做分表的情况下,怎么优化查询?现在是 count 查询很慢,5s 左右,带上查询条件比如近一个月就更慢了 10 多 s
或者放 es 里?
然后每天的数据,你有了当天零点以来的 binlog,就有了增量的 count. 和离线分析做出来的 count 结合起来.
大概是这个思路. 大厂都是这么干的.
这样也许行
我觉得用 count 表可能解决你的问题. 预先统计
@liuzhaowei55 直接获取自增 id 也是一种方法诶。之前没考虑,需要匹配场景。
2.来吧业务查询中间件,把 query 拆分为若干 subquery,再分发到不同实例,最后汇总,但是到这一步已经快超出 rds 范畴了,查询速度还不能接受的话考虑其他方式