小编use*_*916的帖子

MySQL如何实现"分组"?

我从MySQL参考手册中读到并发现当它可以使用索引时,它只是进行索引扫描,其他它将创建tmp表并执行诸如filesort之类的操作.我还从其他文章中读到,"分组依据"结果默认按列分组排序,如果添加"order by null"子句,则不会删除文件.差异可以从"解释......"条款中找到.所以我的问题是:"group by"子句与"order by null"之间有什么区别? 我尝试使用分析来查看mysql在后台执行的操作,并且只看到如下结果:

result for group clause without order by null:
|preparing                      | 0.000016 | 
| Creating tmp table             | 0.000048 | 
| executing                      | 0.000009 | 
| Copying to tmp table           | 0.000109 | 
**| Sorting result                 | 0.000023 |** 
| Sending data                   | 0.000027 | 

result for clause with "order by null":
preparing                      | 0.000016 | 
| Creating tmp table             | 0.000052 | 
| executing                      | 0.000009 | 
| Copying to …
Run Code Online (Sandbox Code Playgroud)

mysql

7
推荐指数
1
解决办法
1979
查看次数

标签 统计

mysql ×1