请帮忙参考下怎么优化下面count(*)语句?(mysql)

MySql 码拜 9年前 (2016-05-09) 1046次浏览
现有2张表
1,systemEventMapping–(systemEvent与user的中间表)
2,systemEvent
每张表差不多快500w的数据,现在使用联合查询count时,查询时间太长,有半分钟,就想问下怎么优化,下面是查询的截图?
请帮忙参考下怎么优化下面count(*)语句?(mysql)
请帮忙参考下怎么优化下面count(*)语句?(mysql)
解决方案

15

引用:
Quote: 引用:

sem.SysEvent字段能否有索引,执行计划的ref不是最好的方式

有的
请帮忙参考下怎么优化下面count(*)语句?(mysql)

show index from systemEventMapping; 看他的sysevent字段

15

SystemEventMapping表中4189854 条记录中仅有15个不同的logo_user ,这样平均每个logo_user 有279323条符合条件的记录,快不起来。除非在硬件上进行优化。另外可以尝试一下用logo_user 做分区表,或分表,但提高有限。

10

https://segmentfault.com/q/1010000000657819

5

count(*) 和 count(字段) 的意义不完全相同
假如有合适的索引能够辅助 count, mysql 不会笨到不用吧

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请帮忙参考下怎么优化下面count(*)语句?(mysql)
喜欢 (0)
[1034331897@qq.com]
分享 (0)