phpbar.de logo

Mailinglisten-Archive

UND verknuepfte Suchabfrage auf Nebentabellen

UND verknuepfte Suchabfrage auf Nebentabellen

Ilja Bekowies ibekowies at shavingkiwis.de
Sam Aug 27 12:20:55 CEST 2005


Hallo!

Ja vielen Dank, eigentlich macht das ja auch Sinn.
Natuerlich liegt da ein Compound Index drauf - in der Zwischentabelle 
sind die beiden Spalten ja zusammengesetzter PK...
50 war auch etwas uebertriieben - 10 sind ja wohl auch ausreichend - wer 
trinkt schon soviel verschiedenes :)

Ist der Query Optimizer von Mysql denn so schlau, die Joins als erstes 
auszufuehren, die am wenigsten Ergebnisse versprechen?

gruesse, Ilja

Andreas Müller wrote:

>Hallo Ilja,
>an sich ist dein Ansatz schon richtig. Er lässt sich nur unter anderen
>Einschränkungen beschleunigen:
>
>SELECT personen.id
>FROM personen
>INNER JOIN trinktgerne tg1 ON ( tg1.id_personen=personen.id AND
>tg1.id_getraenke=1)
>INNER JOIN trinktgerne tg2 ON ( tg2.id_personen=personen.id AND
>tg2.id_getraenke=2)
>INNER JOIN trinktgerne tg3 ON ( tg3.id_personen=personen.id AND
>tg3.id_getraenke=3)
>
>Wichtig ist hier möglichst ein kombinierter Index
>trinktgerne(id_personen,id_getraenke)
>
>Die Einschänkung liegt in der maximalen Anzahl von Tabellen die innerhalb
>einer Abfrage verwendet werden dürfen. Den SQL Quelltext kann man ja
>generieren aber bei 30 Getränken innerhalb einer Abfrage sollte dann Schluss
>sein.
>
>Gruß,
>Andreas
>
>
>  
>

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


php::bar PHP Wiki   -   Listenarchive