誤區一字面誤區
use filesort排序,字面上了解是外部排序。
誤區二人雲亦雲
百度上多被大家否定不是外部排序,認為和file這個關鍵字沒關系。用的是快速排序。但是總覺得不可能這麼無緣無故叫filesort的,于是去官網查了下。
正解
官方解釋
果然,大家認為的隻有一半,正解是上面兩種都有,use filesort會在記憶體中排序,但是如果結果集過大不能使用記憶體就會使用外部排序。(無論filesort底層用的哪種排序都是額外的排序,隻不過記憶體排序比外部排序快一點,都需要優化sql啦~,這裡隻探究filesort原理)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yMyMDZ5YmNhFDM0YDOyQjMiZGO4YGNmJjZ1QzMwIzY38CXxMzLcVDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL4M3Lc9CX6MHc0RHaiojIsJye.png)
驗證
下載下傳mysql源碼
直接通路github位址https://github.com/mysql/mysql-server/進行下載下傳或直接檢視
也可以去官網下載下傳,和下載下傳mysql包一樣,不贅述,隻需要在最後一步中Select Operating System選擇Source Code