Mailinglisten-Archive |
Schick doch mal den exakten Aufbau der beiden Tabelle, und vielleicht auch Beispieldaten. Ich rate mal ins Blaue: NOT IN ('X') und/oder die Konvertierung sind schuld. Aber mehr nach mehr informationen... > -----Ursprüngliche Nachricht----- > Von: Ruediger Weiss [mailto:ruediger_weiss@web.de] > Gesendet: Montag, 4. November 2002 17:07 > An: mysql-de@lists.4t2.com > Betreff: Join mit langer Laufzeit: Index gesucht > > > Hallo Liste, > ich habe einen Join mit langer Laufzeit (>6 Sekunden) > trotz nicht allzu grossem Datenvolumen (Tabelle a: 992 DS, > Tabelle b: 1196 DS). > Leider bin ich anscheinend nicht in der Lage, einen Index auf > Tabelle a zu formulieren, > der die Laufzeit verkürzt. > > explain select a.ARTIKELID, MEMBERID FROM ARTIKEL a > left outer join STRUKTUR b > on a.ARTIKELID=b.MEMBERID > and b.KATALOGID = 1 > and b.STATUS = 'A' > where a.KATALOGID = 1 > and a.LOKZ not in ('X') > and a.AKTIV = 'X' > and > ( > ( > (a.GUELVON / 1) <=20021104 > and (a.GUELBIS / 1) >=20021104 > and (a.SONDER in ('n') > or a.SONDER is null) > ) > or > ( > (a.SGUELBIS / 1) >=20021104 > and (a.SGUELVON / 1) <=20021104 > and a.SONDER in ('j') > ) > ) > > Explain ergibt folgendes Bild: > > table type possible_keys key key_len ref rows Extra > a ALL ARTIKELZUGRIFF NULL NULL NULL 992 > where used > b ref STATUSINDEX STATUSINDEX 2 const 10 > > Der Index auf b scheint also in Ordnung z usein (war ja auch > einfach) ... > > Der Index ARTIKELZUGRIFF auf a, der keine > Laufzeitverbesserung bringt, geht über die Felder > a.KATALOGID, a.LOKZ, a.AKTIV und a.SONDER > > Hat jemand eine Idee? Oder liegt die lange Laufzeit lediglich > daran, dass in zwei der WHERE Bedingungen ein CHARfeld zum > Vergleich mit einer Zahl konvertiert werden muss ? > > Freue mich über gute Ideen, > Viele Grüße, > Rüdiger > ________________________________________________________________ > Keine verlorenen Lotto-Quittungen, keine vergessenen Gewinne mehr! > Beim WEB.DE Lottoservice: http://tippen2.web.de/?x=13 > > > -- > Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter > -->> http://www.4t2.com/mysql > -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive