phpbar.de logo

Mailinglisten-Archive

AW: wie kann das schneller werden...

AW: wie kann das schneller werden...

Ulrich Seppi seppi at idealnet.com
Fre Mai 16 17:17:34 CEST 2003


Hallo nochmal,
Ich muss die die Query erweitern damit mir Detailinformationen
über das Produkt mit der entsprechenden ID zurückliefert.
Die Anzahl der joins wird schlussendlich bei 5-8 liegen.
Deshalb ist es hier nicht so relevant.

Ich habe auch folgende Fälle durchgetestet:

FALL1:
select distinct t1.id
from tabelle t1
inner join tabelle t2 on t2.id=t1.id and (t2.kodex=5 or t2.kodex=6)
inner join tabelle t3 on t3.id=t1.id and (t3.kodex=2)

FALL2:
select distinct t1.id
from tabelle t1
inner join tabelle t2 on t2.id=t1.id and (t2.kodex=5 or t2.kodex=6)
inner join tabelle t3 on t3.id=t1.id
where t3.kodex=2

Ausführungszeit in beiden Fällen 0,20 ms! Daraus schliesse ich dass
der Optimierer aus beiden Fällen denselben erstellt!

Grüße
Uli

>Hallo Michael,
>
>> Wenn kodex 2 häufiger ist würde ich den ins where nehmen, wenn "5 oder 6"
>> häufiger ist, dann eben die. (sollte eigentlich auch der optimizer
>> automatisch machen aber nun ja...)
>
>Das Problem dabei ist das diese Auswahl was mit wem übereinstimmen soll von
>willkürlichen Benutzereingaben abhängt und somit im Vorfeld aufwendige
>Optimierungen gemacht werden müssten. Gut man könnte sich eine
>Häufigkeitstabelle machen und danach dann die Query aufbauen. Sowas hab ich
>mal bei Interbase und deren blöden Optimizer gebaucht. Wenn parallel aber
>Daten reinlaufen fragt sich ob sich der Aufwand der Datenpflege lohnt. Ist
>aber ne weitere Optimierungsmöglichkeit.
>

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive