欢迎投稿

今日深度:

MySQL Group by 优化查询,如果该字段是一个va

MySQL Group by 优化查询,如果该字段是一个va


 

Group by 未加索引

  • 使用的是临时表,加文件排序(数据量小用内存排序)

加个索引(一般是联合索引)

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

加了索引还是慢(查询结果的数据量太大)?

读多写少场景:

1. 加个查询条件的统计表(Group by, order by 还是 count查询性能都不会太差)!!!!

2. 每次关联的表发生变化,就更新统计表。

3. 为了性能同时可以用缓存或者ES通过订阅同步该统计表。

 

www.htsjk.Com true http://www.htsjk.com/Mysql/47252.html NewsArticle MySQL Group by 优化查询,如果该字段是一个va Group by 未加索引 使用的是临时表,加文件排序(数据量小用内存排序) 加个索引(一般是联合索引) 注意:这里加的索引一般不会仅仅是...
评论暂时关闭