• group by 查询很慢该如何优化?
  • 发布于 2个月前
  • 525 热度
    0 评论

group by一般用于分组统计,它表达的逻辑就是根据一定的规则,进行分组。日常开发中,我们使用得比较频繁。如果不注意,很容易产生慢SQLgroup by可能会慢在哪里?因为它既用到临时表,又默认用到排序。有时候还可能用到磁盘临时表。


如果执行过程中,会发现内存临时表大小到达了上限(控制这个上限的参数就是tmp_table_size),会把内存临时表转成磁盘临时表。
如果数据量很大,很可能这个查询需要的磁盘临时表,就会占用大量的磁盘空间。
如何优化group by呢?
1. group by 后面的字段加索引
2. order by null 不用排序
3. 尽量只使用内存临时表
4. 使用SQL_BIG_RESULT
用户评论