1. 程式人生 > >not in與 id!=效率對比分析

not in與 id!=效率對比分析

not in的效率並不高,這個大家都知道,

但還有比not in效率更不高的。

今天檢視慢查詢記錄檔案,發現了一個神器的sql,具體寫法就不說了,類似於這種:SELECT * from kills where id != '12323' and id != '13323' and id != '478732'

當時我好奇心就來了,這種為毛不寫成select * from kills where id not in('12323', '13323', '478732')呢,難道第一種效率更高?如果不是,那不是吃力不討好麼?

然後我就試了下,我的資料庫有記錄五十八萬條,然後分別執行這兩者的話,第一個的執行效率一般在0.5S多,第二條在0.4S多。雖然快了並不多。

但是,後一種寫起來更簡單啊,更快啊,到底什麼情況讓有人寫第一種呢(興許是維護的過程中,後來者圖省事兒,再後來者看,恩?前任都這麼寫的。就也這麼寫了。)