phpbar.de logo

Mailinglisten-Archive

alternative zu joins ?

alternative zu joins ?

Michael Donning donning at informenta.de
Die Feb 4 09:36:31 CET 2003


Hallo Nikolas,

> -----Original Message-----
> From: Nikolas Hagelstein [mailto:hagelstein at hauptsache.net]
> > Ein kombinierter Index in der Bildtabelle auf Artikelnr +
> > Gewichtung sollte
> > erstellt werden.
> mhmm...ich weiss nicht, ob ich das richtig verstanden habe,
> aber in der bildtabelle die artikelnummer mitzufuehren mach
> in sofern keinen sinn, als das ein bild auch zu mehrern artikeln
> gehoern kann ...
> z.b. hoechstweriges bei artikel a und zweithoechstwertiges bie artikel b
> .
> Die wertigkeit steht in der n/m tabelle ...
> und dort gib es natuerlich auch einen entsprechenden schluessel.
Genau das meine ich (inzwischen Schema gesehen)


Indizes:

artikel: index auf artnr, oder was sonst für abfrage/sortierung verwendet
wird

artikeldaten2: index auf artnr
img_to_art:  index auf (artnr,prio) (kombiniert)
image: index auf (id)

Ein Explain (bzw Describe) vor dem Select Deiner Abfrage bringt z.T.
Klarheit, ob ein Index verwendet wird.

Die Abfrage wäre dann so ca.

select ... from
artikeldaten1 a1
inner join artikeldaten2 a2 on (a2.artnr=a1.artnr)
left join img_to_art ia on (ia.artnr=a1.artnr) and (ia.prio=0)
left join image i on (i.id=ia.id)
where ...

beim letzten left join bin ich mir nicht ganz so sicher, müßte aber klappen.

Wie lang die Abfrage braucht, hängt natürlich auch vom where und von der
Anzahl abgefragter Artikel ab.


Gruss, Michael Donning

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


php::bar PHP Wiki   -   Listenarchive