MySQL Group by 优化查询

立聪堂德州十三局店  论坛元老 | 2024-1-10 17:14:52 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1030|帖子 1030|积分 3090

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 translator<img > <img >
  Double-click  Select to translate  translator<img > <img >
  Double-click  Select to translate  Group by 未加索引


  • 使用的是临时表,加文件排序(数据量小用内存排序)
加个索引(一般是联合索引)


  • 注意:这里加的索引一般不会仅仅是group by后面的字段索引(大多数多少条件是一个以该字段开头联合索引,方便使用覆盖索引或者索引下推)。如果该字段是一个varchar类型,最好加个int冗余字段,建立索引的字段,性能更高。
  • 以该字段为条件的B+树自动排序,所以就会导致避免了排序和临时表这个过程,查询性能更快。
加了索引还是慢(查询结果的数据量太大)?

在读多写少场景:
1. 加个查询条件的统计表(Group by, order by 还是 count查询性能都不会太差)!!!!
2. 每次关联的表发生变化,就更新统计表。
3. 为了性能同时可以用缓存或者ES通过订阅同步该统计表。
 
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立聪堂德州十三局店

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表