欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql中use filesort的误区

程序员文章站 2023-09-08 13:09:28
误区一字面误区 use filesort排序,字面上理解是外部排序。 误区二人云亦云 百度上多被大家否定不是外部排序,认为和file这个关键字没关系。用的是快速排序。但是总觉得不可能这么无缘无故叫filesort的,于是去官网查了下。 正解 官方解释 果然,大家认为的只有一半,正解是上面两种都有,u ......

误区一字面误区

use filesort排序,字面上理解是外部排序。

误区二人云亦云

百度上多被大家否定不是外部排序,认为和file这个关键字没关系。用的是快速排序。但是总觉得不可能这么无缘无故叫filesort的,于是去官网查了下。

正解

果然,大家认为的只有一半,正解是上面两种都有,use filesort会在内存中排序,但是如果结果集过大不能使用内存就会使用外部排序。(无论filesort底层用的哪种排序都是额外的排序,只不过内存排序比外部排序快一点,都需要优化sql啦~这里只探究filesort原理

Mysql中use filesort的误区

验证

下载mysql源码

直接访问github地址进行下载或直接查看

也可以去官网下载,和下载mysql包一样,不赘述,只需要在最后一步中select operating system选择source code

Mysql中use filesort的误区

查看源码

抛砖引玉~由各位大佬分析一波~~~(悄悄的告诉你们,我压根就找不到排序的c文件在哪...)

~~~~~~

原创,转载请注明来源,翻版必究