SQL-Anfrage
am 19.05.2006 22:37:32 von axelkoeppenHi!
Ich habe ein kleines Problem, ich muss folgende Anfrage optimieren, da
sie bei sehr großen Datensätzen schon noch geht, aber es schöner
wäre, wenn sie schneller gehen würde.
SELECT `Schluessel`, `Daten`, MAX(`Version`) FROM
`seiteninhaltsdaten_alt` WHERE `Version` < x
GROUP BY `Schluessel`;
x kann dabei jede beliebige Zahl sein. / Um so größer, um so länger
dauert es... Schlüssel und Version sind Indizes.
Hat jemand eine Idee? Die meiste Zeit verbraucht wahrscheinlich das
Group BY mit dem MAX.
In der Tabelle können mehrere Einträge den selben Schlüssel haben
und es gibt mehre Versionen für jeden Schlüssel.
DIE Tabelle sieht folgendermaßen aus:
CREATE TABLE `seiteninhaltsdaten2` (
`Schluessel` int(11) NOT NULL default '0',
`Daten` text,
`Version` int(11) NOT NULL default '0',
KEY `Schluessel` (`Schluessel`),
KEY `Version` (`Version`)
) TYPE=3DMyISAM;