ich durchsuche eine Datenbank nach Datensätzen, bereite diese später auf und schreibe diese in eine Datei.
Ich hatte Anfangs das Problem, dass es vom Start bis zur geschriebenen 200kB großen Datei rund 10 Sekunden gedauert hat. Ich hab damals angenommen, dass es an den extrem vielen MySQL Abfragen liegt (Mein Vorarbeiter hat für jede Zeile dieser Datei rund 8 MySQL Abfragen gemacht).
Also habe ich das alles mit JOINS und so in nur 8 Abfragen gepackt und in Listen gespeichert, die ich dann in Python durchsuche.
Das klappt auch für das obere Beispiel ganz gut, erhalte meine Datei in rund 4 Sekunden.
Mein Problem ist jetzt, wenn die Dateien die geschrieben werden größer werden, dann dauert das Suchen in meiner Liste viel zu lange. Eine Datei mit rund 1MB dauert jetzt schon 1 Minute.
Ich hab diese Listen mit listcomprehension durchsucht, also in etwa eine solche Struktur:
Code: Alles auswählen
[[model_key,model_id] for model_key,model_id in obj['model'] if model_key == int(obj['model_key'])]
Kann mir hier jemand Tipps geben?
Ich habe halt die gleichen Keys, wie ich sie auch in der Datenbank habe. Kann ich da irgendwie effizienter suchen?