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
Don Jul 29 17:03:53 CEST 2004


Zitiere Norbert Pfeiffer <norbert at itbw.de>:
> der JOIN wirft dagegen zuerst nur Errors
> (bei einem SelfJoin muss jeder Feldname
>  entweder 'orig' oder 'copy' zugeordnet
>  werden, sonst ist es doppeldeutig ...)

Ja, mein Fehler...
Der Vollständigkeit halber nochmal (hoffentlich) korrekt:

     SELECT `orig`.`name`, MAX( `datum`) AS `datum`, `orig`.`raum`
       FROM `raumnutzung` AS `orig`
  LEFT JOIN `raumnutzung` AS `kopie`
         ON `orig`.`id` = `kopie`.`id`
   GROUP BY `orig`.`name`
     HAVING `orig`.`datum` = MAX( `kopie`.`datum`)
   ORDER BY `orig`.`name`

> [...]
> Empty set (0.61 sec)

Bei MAX-CONCAT waren es:
> 20 rows in set (0.11 sec)

Wenn ich mich nicht irre, kann mysql auch nur einen Index benutzen. Da
sinnvollerweise der von id benutzt wird, kann selbst ein Index auf datum hier
keine Verbesserung bringen.


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