在开发过程中常常会遇到sql 进行分组的业务,笔者在编码过程中就犯了这样一个低级错误,还好项目经理及时指出来了,避免了以后的问题,给大家分享一下。
使用EXPLAIN 可以看到执行计划,看到Extra列中有Using filesort,这是对性能有一定影响的,特别是使用了group by时,就算你没有显示的指定order by,mysql会默认按照分组字段进行排序。某些情况下是没有必要使用排序的,这个 filesort 并不是说通过磁盘文件进行排序,而只是告诉我们进行了一个排序操作而已。
则完全可以可以使用order by null来取消排序