SQL-Anfrage

SQL-Anfrage

am 19.05.2006 22:37:32 von axelkoeppen

Hi!

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;

Re: SQL-Anfrage

am 20.05.2006 07:10:25 von Stefan Rybacki

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

axelkoeppen@googlemail.com schrieb:
> Hi!
> ...
Hi,

was sagt EXPLAIN und hast du schon nen kombinierten Index versucht?

(schluessel, version) bzw. (version, schluessel)?

Bis denn dann
Stefan

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (MingW32)

iD8DBQFEbqTByeCLzp/JKjARAnnRAJ9/Ftrum+YHAKbG+8S4MoeIFVflxgCf REBH
rEHbUNotfqOtWpIk+OIfILE=
=OOun
-----END PGP SIGNATURE-----