Performance bei Datenbank Aktualisierung
Von: Sandro Paetzold (sandro.paetzold@arcor.de) [Profil]
Datum: 22.05.2009 12:58
Message-ID: <4a16850c$0$31865$9b4e6d93@newsspool3.arcor-online.net>
Newsgroup: de.comp.lang.php.datenbanken
Datum: 22.05.2009 12:58
Message-ID: <4a16850c$0$31865$9b4e6d93@newsspool3.arcor-online.net>
Newsgroup: de.comp.lang.php.datenbanken
Guten Tag,
ich hab ein problem mit der Performance bei der Aktualisierung meiner DB.
Ich bekomme im stundentakt files, die automatisch ich eine DB
eingespeist werden sollen. Soweit kein, das file setzt sich aus
veränderten und neuen einträgen zusammen.
Mein Problem ist nun, wenn bei jedem eintrag im file prüfe ob dieser in
der DB vorhanden ist und ihn dann aktulisiere bzw. neu einfüge ist das
Script iree langsam!
Würde ich die DB mit TRUNCATE leeren und das file einfach jedesmal
komplett in die DB schreiben wäre ich um längen schneller als mit der
UPDATE/INSERT variante!
Mein Script sieht im moment etwa so aus:
while($data as $line){
$result = $db->query("SELECT * FROM dst WHERE id = $line['id']
if($db->rows($result) == 0){
INSERT
} else{
UPDATE
}
}
Es geht hier um > 300.000 einträge und mit jedem Update werden es mehr
einträge! Gibt es nicht eine andere lösung, die Perfomanter ist?
LG Sandro
[ Auf dieses Posting antworten ]Antworten
- Claus Reibenstein (22.05.2009 13:46)
- Sandro Paetzold (22.05.2009 14:25)
- Karl Pflästerer (22.05.2009 14:39)
- Christoph Herrmann (22.05.2009 15:14)
- Thomas Fuchs (23.05.2009 21:28)
- Mathias Fiedler (27.05.2009 18:45)
- Claus Reibenstein (27.05.2009 18:58)
- Mathias Fiedler (27.05.2009 22:45)
