phpbar.de logo

Mailinglisten-Archive

[dbs] Abfrageoptimierung

[dbs] Abfrageoptimierung

Sven phpbar at koalashome.de
Mon Okt 27 21:47:37 CET 2003


Hallo

> > Liefern soll und tut sie auch alles zwischen SELECT und FROM.
> > Oder versteh ich dich da falsch?
> ja die felder, aber welche datensätze? welche bedingungen müssen erfüllt
> sein? man sieht zwar dein WHERE aber das allein ohne die
> Tabellen-Definition gibt keinen Aufschluss darüber was du eigentlich
> suchen willst!

Also mehr Hintergrundinfos:
Die Tabelle firmen beinhaltet Firmendaten von Firmen die auf irgendeine Art 
und Weise etwas mit Fahrzeugen tun haben.
Jeder Firma können beliebig viele Automarken, Services und Regionen zugewiesen 
werden. 
Die Zuweisungen erfolgen über die kfz_zu_af|rf|sf-Tabellen. In diesen Tabellen 
stehen nur die IDs der Tabelle firmen mit ihren Zuweisungen zu den IDs von 
Automarke, Service und Region.
Mit der Suche nach einer bestimmten Region möchte ich mir eben alle dortigen 
Firmen anzeigen lassen. Oder das Gleiche bei einer Suche nach Automarke oder 
Service.
Also was die Suche angeht im Grunde 3 mal das gleiche, nur auf eine andere 
Tabelle bezogen.
Das müsste dann also eine klassische 1:m Beziehung sein?

> >>in kfz_service ein Index auf s_id,akin
> > Auch dort ist überall ein Index drauf.
> ja aber für jede Spalte eine eigener Index bringt dir nichts!

Nicht? Warum nicht?
Nein, bitte nicht verraten; ich schau mir bei nächster Gelegenheit das online 
MySQL-Handbuch näher an.
Mein Buch das ich hier habe ist schon etwas älter (-;

> du brauchst _einen_ Index der über _alle_ benötigten Spalten einer
> Tabelle geht haben,
> wobei auch zu beachten wäre das die Spalten in dem Index in der
> richtigen Reihenfolge stehen!

Ok, bevor ich mich ins Manual vergrabe, könntest du mir noch kurz das mit der 
richtigen Reihenfolge erläutern?

-- 
Koala


php::bar PHP Wiki   -   Listenarchive