2011-08-05 53 views

回答

1

這裏的描述:

http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html

除非你有亂排列(BLOBTEXT)或您SELECT列表過大,這種算法:

  • 讀取與WHERE子句匹配的行。

  • 對於每一行,記錄由排序鍵值和行位置組成的值的元組,以及查詢所需的列。

  • 排序排序關鍵字值

  • 元組檢索按排序順序的行,而是直接從排序的元組,而不是通過訪問表的第二時間讀取所需的列。

排序按多個列不需要掃描該數據集的兩倍,由於用於排序所需的所有數據可以在單個讀出取出。

請注意,MySQL可以完全避免訂單,只需按順序讀取值,前提是您的索引最左邊的部分與您的ORDER BY條件匹配。

相關問題