Heim > Fragen und Antworten > Hauptteil
Ich habe eine riesige mysqldump-Datei (~700 GB) und möchte sie auf einem anderen Server wiederherstellen. Für das erste GB ist die Importgeschwindigkeit ziemlich hoch, etwa MB/s, aber nach ein paar GB Daten sinkt die Geschwindigkeit auf 50 kb/s bis 200 kb/s.
Die Parameter für mysqldump sind --skip-comments --no-create-info --no-autocommit --quick --extended-insert --insert-ignore --compress
, daher wurden einige Geschwindigkeitsverbesserungen vorgenommen.
Der Import erfolgt über pv /file.sql | 完成的mysql -u 用户 DB
Ich habe auch mysqltuner ausgeführt und einige seiner Einstellungen verbessert.
Ich frage mich: Ist es üblich, dass ein so großer MySQL-Dump nach einer Weile langsamer wird? Oder gibt es etwas, das noch verbessert werden kann?
P粉2014488982024-01-06 08:18:50
导入大量数据时,应禁用以下功能。
因为每次插入时,数据库都会检查插入记录在其他表中的关系。随着桌子变得越来越大,这个过程开始减慢。每次插入期间,数据库还会对该表的索引执行额外的插入操作或运行插入触发器。
另外,由于MySQL中的事务很弱,所以需要工作,以便commit不是每次插入后都工作,可以使用commit命令,例如每10000条记录插入后一次。