UNION oder OR

07/11/2007 - 12:48 von Volker Strähle | Report spam
Tag zusammen,

macht es einen Unterschied, ob ich

select * from table1 where spalte1 like "%dings%"
union
select * from table1 where spalte2 like "%dings%"

oder

select * from table1 where spalte1 like "%dings%" or spalte2 like "%dings%"

ausführe?

(Ja, dass % am Anfang nicht gut ist, weiss ich.)


Volker
 

Lesen sie die antworten

#1 Olaf Pietsch
07/11/2007 - 20:00 | Warnen spam
Hallo Volker,

"Volker Stràhle" schrieb im Newsbeitrag
news:OCTr%
macht es einen Unterschied, ob ich

select * from table1 where spalte1 like "%dings%"
union
select * from table1 where spalte2 like "%dings%"

oder

select * from table1 where spalte1 like "%dings%" or spalte2 like
"%dings%"

ausführe?

(Ja, dass % am Anfang nicht gut ist, weiss ich.)



"nicht gut" gibt es nicht. Es gibt nur schneller oder langsamer.;-)

Deine Frage können nur die Ausführungsplane der unterschiedlichen Abfragen
bantworten, die Du Dir ja auch ansehen kannst.

Es gibt eine Empfehlung, dass der Optimizer die Ausführungplàne bei einem
UNION u. U. besser optimieren kann als bei einem OR im WHERE. Ob das in
Deinem Fall einen Unterschied hinsichtlich der Ausführungsgeschwindigkeit
ergibt, kann ich Dir nicht sagen.

Gruß Olaf
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Blog (http://www.sqlpass.de/PASSUserBlogs...x?BlogID=3)
Regionalgruppe Köln/Bonn/Düsseldorf
(http://www.sqlpass.de/Regionalgrupp...fault.aspx)

Ähnliche fragen