mysql查询优化问题?
select count(*) as aggregate from `call_records` where (`CallType` = 'dialout' and `CalledNo` = '12345678910');
这条查询如何优化?前提是不能建立索引,因为这张表里面已经有好几个索引了,有可能导致锁表。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是不是热数据,不是热数据就搞个脚本定时跑把统计的count存到另一个张统计表里去。
热数据的话你看看之前建的索引能不能搞成组合索引,因为B树从左开始,你建个(a,b,c)的,a和a,b和a,b,c都能用了,代码层的查询函数注意字段顺序。
把索引重新优化下吧,单个索引建的太多了,就想办法建个联合索引。假如这个统计不需要实时性,就用md5(sql语句)作为key,把结果作为值,存放到缓存里(redis)。