2015-09-07 102 views
2
select id, name from myTable; 

哪一個是更快,爲什麼

select id, name from myTable where name like "%"; 

用MySQL優化第二個查詢?

更新:myTable只有三列id(主鍵),名稱和年齡。myTable中行的數量都在範圍(5-10)k中。

如果我們在列「name」上創建索引,該怎麼辦?

+3

這可能取決於很多因素(架構,條目#,服務器,MySQL-conf的..)我將投票關閉你的問題,雖然這是一個有趣的話題。但是,它太寬泛了,你提供了很少的關於你自己的基準測試的信息,表格是怎麼樣的等等。 – Felix

+1

知道什麼馬更快的最好方法。 '把兩個都放在賽道上。意思是做你的測試,用查詢'分析器' –

+3

我不認爲兩者都是一樣的。第二個查詢將消除NULL值 –

回答

0

我認爲第二個查詢的執行速度會更快。
按照執行查詢的順序WHERE子句在選擇之前。所以,如果你使用的地方,它會過濾不。的記錄。當選擇將在其上工作時,選擇將更快地工作(特別是當您在數據庫中有大量數據時)。

參考:
What is the order of execution for this SQL statement