2011-07-30 77 views
2

有沒有任何更快查詢重寫這些查詢的方法還是將它們組合起來?有沒有更快的方法來寫這3個相同的查詢?

update products 
set shop = '1' 
where shop LIKE '%demo%' 

update products 
set shop = '2' 
where shop LIKE '%car%' 

update products 
set shop = '3' 
where shop LIKE '%art%' 
+1

究竟你 「更快」 是什麼意思?較少的代碼?查詢速度更快?爲什麼這對您的應用程序至關重要? – KingCrunch

+1

我的意思是更快的查詢。 – EnexoOnoma

+0

評論中還有一些問題。爲什麼這很重要?看來,你只是想重構你的數據庫模式,因爲速度不是那麼重要。 – KingCrunch

回答

4
update products 
set shop = 
case 
when shop like '%demo%' then 1 
when shop like '%car%' then 2 
when shop like '%art%' then 3 
else shop 
end 
+0

沒有可能,謝謝! – EnexoOnoma

+0

不客氣。 ;) –

+1

請注意,這並不一定會使查詢比單獨的查詢更快,但我不確定它們無論如何都是無法忍受的。 – JJJ

相關問題