mysql查询优化问题?

发布于 2022-09-04 20:45:43 字数 189 浏览 12 评论 0

select count(*) as aggregate from `call_records` where (`CallType` = 'dialout' and `CalledNo` = '12345678910');

这条查询如何优化?前提是不能建立索引,因为这张表里面已经有好几个索引了,有可能导致锁表。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伤感在游骋 2022-09-11 20:45:43

是不是热数据,不是热数据就搞个脚本定时跑把统计的count存到另一个张统计表里去。
热数据的话你看看之前建的索引能不能搞成组合索引,因为B树从左开始,你建个(a,b,c)的,a和a,b和a,b,c都能用了,代码层的查询函数注意字段顺序。

蒗幽 2022-09-11 20:45:43

把索引重新优化下吧,单个索引建的太多了,就想办法建个联合索引。假如这个统计不需要实时性,就用md5(sql语句)作为key,把结果作为值,存放到缓存里(redis)。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文