目錄
1.在使用order by時,經常出現using filesort
1.1索引做為排序時:
1.2使用order by排序時, 如果沒有按照索引順序,會出現using filesort
1.3當使用*時 order by即使使用了 全部索引,也會也filesort
1.4當索引欄位為常量時 可以當作是存在索引的
1.5使用排序一公升一降會造成filesort
2.使用group by時,使用不當, 會出現using temporary
只用到了 name和age salary是作為排序,而不是查詢
explain
select * from employees where name = '李白1' and age = 10 order by salary ;
explain
select * from employees where name = '李白1' order by salary,age,name ;
explain
select * from employees order by name,age,salary;
explain
select * from employees where name = '李白1' order by age,salary;
explain
select * from employees where name = '李白1' and age = 10 order by salary;
explain
select * from employees where name = '李白1' order by age desc ,salary asc ;
解決辦法和排序一樣, 都要按索引順序進行分組錯誤:##錯誤
explain
select name from employees where name = '李白1' group by salary;
##正解
explain
select name from employees where name = '李白1' group by name,age,salary;
正解:
你不知道的MySQL排序
想必大家都知道在mysql中,使用order by 對某一欄位進行asc 預設 正序 或desc 倒序 排序。但是很多的時候所要排序的字段是沒有規則的,那該要如何排序呢?select from t user order by age desc 先根據年齡排序,如果年齡相同的再按建立時間排序selec...
你所不知道的氣泡排序
說到排序,耳熟能詳,手寫 都可以很順溜的氣泡排序。但是追究氣泡排序的優化的時候,那麼估計就有很多人懵逼了。下面介紹幾種冒泡的幾個優化點吧。有這麼乙個數列 int number1 常規的寫法 這種冒泡寫法,一直要到每一輪的每一次對比完成後,迴圈才會結束,顯然這樣的寫法效率比較低,而且某些時候數列有一部...
你不知道的 和
開發中,編寫有一定逼格的 是每個程式猿都追求的。經常用來判斷的符號 和 也經常用來定義變數哦,你知道嗎?邏輯與 在有乙個運算元不是布林值的情況下,就不一定返回布林值。比如以下情況 1 第乙個運算元是物件,返回第二個數 var myinfo console.log myinfo 2 輸出22 第二個運...