Wenn es keine WHERE-Klausel (wie die von Ihnen gepostete Abfrage) gibt und Sie eine Million Zeilen auswählen, ist die Wahrscheinlichkeit groß, dass die Abfrage nicht dauert, sondern 2-3 Sekunden dauert die Daten über das Netzwerk.
Kann Ihre Anwendung tatsächlich eine Million Datensätze gleichzeitig verwenden? Wenn Sie diese Daten einem Benutzer zeigen, werden Sie wahrscheinlich einen Paging-Vorgang durchführen. Ändern Sie daher Ihre Abfrage, um Daten in überschaubaren Blöcken auszuwählen.
SELECT id, value
FROM foo
LIMIT $offset, $pgsize -- these two values will come from your application
Wenn Sie wirklich alle diese Zeilen auf einmal brauchen, dann schlage ich vor, dass Sie sie zwischenspeichern.
"ID auswählen, Wert von foo" ... ohne WHERE-Klausel? –
no where-Klausel – Sam
"Nun, da ist dein Problem!" - Adam Savage –