J
jenzi
Gast
hallo,
ich hab eine Tabelle mit über 5000000 Einträgen und 3 Schlüsseln.
Ich brauche nur den ersten Datensatz bei einer bestimmten sortierung. Das mache ich so:
SELECT * FROM test ORDER BY k3, k2, k1 LIMIT 1
Dabei werden alle Datensätze in dem SELECT erst nach k3, dann nach k2 und dann nach k1 sortiert und nur der erste ausgegeben.
Leider dauert die Abfrage ca. 10 sek. Das ist viel zu lang.
Ist es möglich, die Datensätze schon in der Datenbank sortiert abzulegen und dann einfach eine Abfrage die Abgebrochen wird sobald der erste Datensatz gefunden wurde zu machen?
z.B.:
SELECT * FROM test [EXIT wenn 1. Datensatz gefunden]
ich hab eine Tabelle mit über 5000000 Einträgen und 3 Schlüsseln.
Ich brauche nur den ersten Datensatz bei einer bestimmten sortierung. Das mache ich so:
SELECT * FROM test ORDER BY k3, k2, k1 LIMIT 1
Dabei werden alle Datensätze in dem SELECT erst nach k3, dann nach k2 und dann nach k1 sortiert und nur der erste ausgegeben.
Leider dauert die Abfrage ca. 10 sek. Das ist viel zu lang.
Ist es möglich, die Datensätze schon in der Datenbank sortiert abzulegen und dann einfach eine Abfrage die Abgebrochen wird sobald der erste Datensatz gefunden wurde zu machen?
z.B.:
SELECT * FROM test [EXIT wenn 1. Datensatz gefunden]