UPDATE - Tabelle zu gross?
-T
- datenbank
0 Rouven
Guten Tag alle zusammen,
ich hab hier eine Tabelle ("allCities") die hat 2Millionen Datensaetze und soll in einer Spalte ("location_id") neue Werte zugewiesen bekommen. Dazu muss ich insgesamt mit 3 Tabellen arbeiten, wobei die beiden anderen aber viel kleiner sind (hoechstens je 100 Datensaetze).
Mein Query lautet wie folgt:
UPDATE
allCities
aC,
\_iso\_country-codes
iso,
\_earth\_country-codes
edo
SET aC.location_id = edo.location_id
WHERE aC.country_code = iso.code AND edo.name = iso.country
Dieser Query hat auf einer Tabelle mit 200 Datensaetzen bereits funktioniert. Nur mit der grossen Tabelle hab ich Probleme (schon eine Nacht durchlaufen lassen, hat mich aber mit nem Fehler am naechsten Morgen begruesst).
Ich hab keine Ahnung, wie ich das angehen soll. Toll waere die Aufgabe in Teilaufgaben zu zerlegen, "LIMIT" funzt aber nicht.
Bin fuer jeden Denkanstoss dankbar,
Gruss,
-T
Hello,
UPDATE
allCities
aC,
\_iso\_country-codes
iso,
\_earth\_country-codes
edo
SET aC.location_id = edo.location_id
WHERE aC.country_code = iso.code AND edo.name = iso.country
du lässt also vor dem Ausführen 3 Tabellen per Kreuzprodukt zusammenführen. Bei 100 Datensätzen in jeder macht das 100*100*100 Datensätze. Selbst bei gesetzten Indizes sehe ich da für einen Join in eine 2 Mio Tabelle eine ziemlich hohe Laufzeit am Horizont...Ich fürchte, dir wird nicht viel anderes bleiben als
MfG
Rouven