2011-04-29 69 views
3

我想知道在使用LIKE而不是NOT LIKE時是否有任何特定的性能優勢,反之亦然。例如:'LIKE'或'NOT LIKE'就是問題

說我有1000行(是不是很多,但畢竟這是一個例子),只有50在其hello列字world查詢使用

SELECT id FROM table WHERE hello LIKE'%world%' 

或DB後

SELECT id FROM table WHERE hello NOT LIKE '%world%' 

LIKE回報50同時使用NOT LIKE返回950 我的問題是不是您應該在任何PA使用rticular情況而如果有對您使用既會有任何性能成本「搜索」整個表反正 :)

回答

3

沒有性能上的差異。 NOT只是顛倒了它後面的結果。邏輯反轉是一個非常快速的操作,在現代處理器上只需要幾個納秒...

所有的花費都將與選定的行數相關,並跟蹤查詢的其他部分。

+1

另一方面,如果其中一個查詢返回*很多*行,而另一個返回幾行,那麼處理所有數據,通過網絡發送等都會帶來性能成本(儘管只有1000行這個開銷可以忽略不計) – nos 2011-04-29 08:04:53

+0

這是我第一次想到的,但只是想與主題更'知識' – Elgoog 2011-04-29 08:06:29

+0

@nos:同意,但答案似乎已經覆蓋了與聲明:''所有的費用將與選擇的行數有關。 – 2011-04-29 12:38:08

1

從邏輯上講,它們在性能上並不相同。