3 messages in com.mysql.lists.mysql-deRE: UNION vs. OR| From | Sent On | Attachments |
|---|---|---|
| Thomas Goik - echtwahr.com | 20 Dec 2007 14:10 | |
| Thomas Goik - echtwahr.com | 21 Dec 2007 01:05 | |
| Thomas Goik - echtwahr.com | 22 Dec 2007 01:11 |
| Subject: | RE: UNION vs. OR![]() |
|---|---|
| From: | Thomas Goik - echtwahr.com (tech...@echtwahr.com) |
| Date: | 12/21/2007 01:05:23 AM |
| List: | com.mysql.lists.mysql-de |
Hallo Mario;
Das selbe Ergebnis erreichst Du mit " IN " in der WHERE Klausel.
Ja ich weiß, das wird eh von Optimizer umgeschrieben
Es ging eher darum, dass die OR Abfrage nicht optimiert werden kann vom Optimizer und daher meine Frage ob eine mehrfach Abfrage auf die selbe Tabelle eben über UNION besser optimiert werden kann vom optimizer.
[COPY] Posted by André Somplatzki on April 15 2005 3:42pm [Delete] [Edit] Indices lose their speed advantage when using them in OR-situations (4.1.10): SELECT * FROM a WHERE index1 = 'foo' UNION SELECT * FROM a WHERE index2 = 'baar'; is much faster than SELECT * FROM a WHERE index1 = 'foo' OR index2 = 'bar';
Mein frage ist eben bei 5.0.32, ob dort auch noch die fehlende Optimierung gibt bei OR Anfragen
Mit freundlichen Grüssen Thomas Goik
-- Lofox GmbH Geschäftsführerin: Evelyn Fuchs Im Kamperholz 48 44805 Bochum - Germany Amtsgericht Bochum HRB 7042 USt-IdNr.: DE215698227 St.-Nr. Bochum 306/5885/0172
-----Mensaje original----- De: Mario Schnauss [mailto:mar...@schrogg.com] Enviado el: Donnerstag, 20. Dezember 2007 23:39 Para: Thomas Goik - echtwahr.com Asunto: Re: UNION vs. OR
Thomas Goik - echtwahr.com schrieb:
Welche Anfrage Art ist schneller (besser) ein UNION auf immer die Selben Felder oder ein OR
Das selbe Ergebnis erreichst Du mit " IN " in der WHERE Klausel.
SELECT
Die Frage, welche Art der Abfrage die performanteste ist, würde ich mir durch eigene Tests selbst beantworten. Bei meinen Tests war die Abfrage mit "IN" ist die schnellste und die Abfrage mit UNION die langsamste. Vielleicht hilft Dir auch ein "EXPLAIN SELECT ...", um Informationen über die Query zu erhalten.
viele Grüße, Mario




