有时候 group by 为什么这么慢呢
假设三个表 t_user , t_user_detail , t_log_info 记录都比较多(5000~1000)。
select count(user_id),a.user_type from t_user a
inner join t_user_detail b on a.user_id=b.user_id
inner join t_log_info c on b.user_id=c.user_id
where a.user_type=100
这样会比较慢。
一个小小的改进速度会快很多。 b.user_id 改成 a.user_id
select count(user_id),a.user_type from t_user a
inner join t_user_detail b on a.user_id=b.user_id
inner join t_log_info c on a.user_id=c.user_id
where a.user_type=100
个人观点, 表关联时尽量用where过滤后记录比较少的表的字段关联。