php - mysql查询优化问题?
大家讲道理
大家讲道理 2017-05-16 13:08:33
0
2
540
select count(*) as aggregate from `call_records` where (`CallType` = 'dialout' and `CalledNo` = '12345678910');

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(2)
给我你的怀抱

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

PHPzhong

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage