phpbar.de logo

Mailinglisten-Archive

performance: MAX-CONCAT vs. selfjoin

performance: MAX-CONCAT vs. selfjoin

Christoph 'Le o' Weißenborn chw-le at gmx.de
Fre Jul 30 12:18:44 CEST 2004


Hallo,

Zitiere Norbert Pfeiffer <norbert at itbw.de>:
> Aber es aendert nix an der Tatsache, dass der
> SelfJoin funfmal(5*) langsamer und Empty ist:
> Empty set (0.55 sec)

ich hab das jetzt mal vom Kopf in den Rechner gebracht. Dabei hab ich dann
doch nochmal die ganze Abfrage über der Haufen werfen müssen. Meine
Ausführung mit dem Selfjoin war so nämlich falsch. Aber grundsätzlich geht
es. Angelehnt an den Kommentar von "Rudy Limeback" am 13.04.04 auf
http://dev.mysql.com/doc/mysql/de/example-Maximum-column-group-row.html

Benutzte
> http://www.itbw.de/_div/zips/rm.11111.zip

So liefert es ein richtiges Ergebnis:
     SELECT `orig`.`name`, `orig`.`raum`, `orig`.`datum`
       FROM `raumnutzung` AS `orig`
 INNER JOIN `raumnutzung` AS `kopie`
         ON `orig`.`name` = `kopie`.`name`
   GROUP BY `orig`.`name`, `orig`.`raum`, `orig`.`datum`
     HAVING `orig`.`datum` = MAX( `kopie`.`datum`);

Dann hab ich noch den Index dazugenommen:
CREATE INDEX index_mehr ON raumnutzung (name,raum,datum);

_Aber_, trotzdem dauerts    1 min 5.65 sec
der MAX-CONCAT jedoch nur         0.14 sec.
Ein einfacher, aber hier nicht ausreichender Selfjoin dauert 0.89 sec.


Beste Grüße,
 Christoph
-- 
Fingerprint=65B7 73B6 5969 AC2B 4572 39A2 0DBC DAC1 3D6A 45B7
email auch: chw- at gmx.de / mai01dzr at ...

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


php::bar PHP Wiki   -   Listenarchive