為什麼MySQL Order By Limit 查詢少量資料耗時很長

時間 2021-06-03 05:21:37

1樓:陳滿硯

首先,第一條SQL,跟下面execution plan的sql都不一樣

ORDER BY update_date LIMIT 0,20

vsORDER BY update_date, id LIMIT 0,20

第二,前面兩個execution plan的type是不一樣的

index vs range, 這個當然導致了後面的rows數目不一樣,以及file sort的存在。

具體是什麼意思,我就不做翻譯了8.8.2 EXPLAIN Output Format.

第三, 樓主的三個問題, 可以從上面那個連線得出答案, 如果還是不懂, 請把整個整個章節讀完。

最後,所以說, 資料結構和演算法,其實在日常工作中還是有用的,樓主的三個問題,也可以直接用BTree具體怎麼實現和使用的得出答案。

2樓:peter.z

因為你order by 的字段不能再走索引了,每個查詢只能走一次索引,所以你相當於把查詢結果全排序了一次。

你可以考慮建乙個update create的聯合索引然後先走乙個子查詢查出「按照update排序的起始記錄的update值」,再用這個值作為條件加上其他條件來查,子查詢和外部查詢可以分別走索引。

為什麼要重男輕女,為什麼?

Stunk 簡單說說國內重男輕女的假象 嫁出去的女兒潑出去的水 這是一句俗話,深入人心 現代社會,物質生產跟上來了,女兒們開始反哺原生家庭了,於是也出現了農村地區殺男嬰的故事 先說說古代為何 重男輕女 因為女兒不顧原生家庭 在物質匱乏的古代,生存本來就是一件難事,讓女人來顧家是不可能的 怎麼得出這個...

為什麼那麼焦慮?為什麼那麼勢利?為什麼那麼急於成功?

個人感覺最重要的是人在社會中的安全感。其實真不是每個人都那麼地渴望成功,而且成功的定義本來就是多種多樣的。但在中國,如果你沒有達到廣泛定義上的 成功 你可能會有以下的結果 你可能在城市中會隨時沒有安身之所,你可能會遭受不公但投訴無門,你的父母至親可能患病也得不到最基本救助,你的孩子可能得不到平等的教...

我為什麼是我?為什麼?

主角戲 馬克思說過,人是所有社會關係的總和,所以首先,你作為人來說,你只是你周圍所有關係的總和,你的偏執,你的瘋狂,你的愛情,你的孝順,你的所有人生觀,價值觀,世界觀,宇宙觀,形成了你。但是你錯誤的把這些當成了你,其實這些都是人的錯誤認識,心 的本體,也就是能生萬物,能生萬法的這個東西沒有被發現之前...