MySQL] Grosse Datenmenge einfügen ohne WRITE LOCK

Moritz123

Erfahrenes Mitglied
Hallo,

ich habe hier fünf Millionen Datensätze, die ich in eine Tabelle importieren muss.
Diese Datensätze stammen aus unserer Stage-DB und sollen nun in die Produktions-DB
überführt werden. In der Prod-DB liegen bereits 150 Millionen Datensätze auf denen aktiv (also lesend und schreibend) gearbeitet wird.
Ich habe nun mit mysqldump die zu überführenden fünf Millionen aus der DB in ein Textfile überführt und gesehen, dass dort ein WRITE LOCK auf die Tabelle gesetzt wird, bevor mit dem einfügen begonnen wird.
Da aber wie beschrieben auf der Tabelle gearbeiteitet wird, kommt ein Schreiblock eigentlich nicht in Frage, da es weiterhin möglich sein muss, während des Einfügevorgangs schreibend auf die bereits vorhanden Daten zugreifen zu können.

Nun meine Frage: Kann ich den WRITE LOCK gefahrlos aus dem Dump rausnehmen? In meinen Augen ist er ja eigentlich nicht nötig, da auf die einzufügenden Datensätze ja während des Importvorgangs nicht schreibend zugegriffen wird.

Vielen Dank!
 
Solange da jetzt keine Entititäten oder Relationen verändert oder sogar beschädigt werden, sollte es da kein Problem geben. Ich weiß allerdings auch nicht, was du für ein Projekt hast, was auf dieser Datenbank basiert. Bei solchen Sachen ist ein kurzzeitiges Sperren der Webseite/Applikation vielleicht doch sinnvoll - zumindest sehe ich das so. Es sollte auch nicht viel Zeit in Anspruch nehmen, so dass die Anwender getrost auch einmal kurz warten können, so du sie nicht ahnungslos stehen lässt.
 
Zurück