我从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 ×1