Thread Effiziente SELECTs in MySQL: Insertion order determinieren?
(23 answers)
Opened by ptk at 2004-06-08 16:02
Ich habe hier eine grosse MySQL-Tabelle mit ueber 13*10^6 Datensaetzen, welche nach Datum sortiert eingefuegt wurden. Die Id wird per auto_increment erzeugt. Ich moechte nun zu einem Datum den naechsten Datensatz herausfinden. Mit diesem SELECT geht das ganz gut und schnell:
Code: (dl
)
1 mysql> select accesslog_id from accesslog where accessdate >= "2004-01-01 00:00:00" limit 0,1; Allerdings verlasse ich mich darauf, dass die interne Sortierung mit der accesslog_id-Sortierung uebereinstimmt. Nach ein bisschen Googlen sieht es so aus, als ob man sich nicht 100%ig darauf verlassen kann. Die richtige Methode wuerde so aussehen: Code: (dl
)
1 mysql> select min(accesslog_id) from accesslog where accessdate >= "2004-01-01 00:00:00"; (oder alternativ mit ORDER BY). Das ist aber ziemlich langsam. Weiss jemand Vorschlaege, Alternativen ...? |