Hallo Leute,
sicher ein Thema was schon des öfteren an den Tisch gebracht wurde.
Ich habe eine Tabelle in der zur Zeit ca. 460.000 Einträge vorhanden sind.
Bisher hatte ich anstelle eines Updates des jeweiligen Datensatzes immer den alten Datensatz verworfen und stattdessen einen neuen Datensatz angelegt.
Direkt über die Konsole mit
ist das eine sehr schnelle Angelegenheit.
Bisher war es egal, ob sich bei einen Datensatz die ID ändert.
Da sich hier mit der Zeit aber - weil über den Tag verstreut sehr viele neue ID's generiert werden - keine schöne Sache ergibt hab ich begonnen Datensätze nicht mehr neu anzulegen sondern Upzudaten.
Somit hab ich jetzt in den SQL-Files nicht nur INSERT-Anweisungen sondern eben auch extrem viele UPDATE'S was ja seine Richtigkeit hat.
Nun hab ich zusätzlich versucht mittels
das ganze zu beschleunigen, was aber zur folge hat, dass es a) auf der Seite selbst da wo genau diese beiden Tabellen mittels SELECT abgefragt werden zu einer Bremse kommt, was lt. der MYSQL-Doku ja klar hervorgeht und b) der Insert und Update-Vorgang nicht wirklich viel schneller ist.
Nun meine Frage an Euch:
Wie kann ich den UPDATE-Vorgang extrem flott machen.
Die SQL-Files haben im Schnitt so zwischen 2 und 3MB Dateigröße, was für die Datensatzmengen die upgedatet bzw. geinsertet werden sollen vollkommen ok ist.
Die Updates sind folgenderweise aufgebaut:
Sollten noch wichtige Infos fehlen gebe ich Sie gerne bekannt, damit es nicht zu einer Rätselralley wird.
Vielen Dank
sicher ein Thema was schon des öfteren an den Tisch gebracht wurde.
Ich habe eine Tabelle in der zur Zeit ca. 460.000 Einträge vorhanden sind.
Bisher hatte ich anstelle eines Updates des jeweiligen Datensatzes immer den alten Datensatz verworfen und stattdessen einen neuen Datensatz angelegt.
Direkt über die Konsole mit
PHP-Code:
mysql --user=xxx --pass=xxx --host=xxx database < filename.sql
Bisher war es egal, ob sich bei einen Datensatz die ID ändert.
Da sich hier mit der Zeit aber - weil über den Tag verstreut sehr viele neue ID's generiert werden - keine schöne Sache ergibt hab ich begonnen Datensätze nicht mehr neu anzulegen sondern Upzudaten.
Somit hab ich jetzt in den SQL-Files nicht nur INSERT-Anweisungen sondern eben auch extrem viele UPDATE'S was ja seine Richtigkeit hat.
Nun hab ich zusätzlich versucht mittels
PHP-Code:
LOCK TABLES `tabelle1` WRITE, `tabelle2` WRITE;
Nun meine Frage an Euch:
Wie kann ich den UPDATE-Vorgang extrem flott machen.
Die SQL-Files haben im Schnitt so zwischen 2 und 3MB Dateigröße, was für die Datensatzmengen die upgedatet bzw. geinsertet werden sollen vollkommen ok ist.
Die Updates sind folgenderweise aufgebaut:
PHP-Code:
UPDATE tabelle1 SET spalte1='blabla', spalte2='blabla' ..... WHERE id=betroffeneID
Vielen Dank
Kommentar