Gibt es eine Möglichkeit, die Leistung von MySQL-Importen zu verbessern, die mit der Zeit langsamer werden?
P粉969253139
P粉969253139 2024-01-05 09:41:52
0
1
507

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粉969253139
P粉969253139

Antworte allen(1)
P粉201448898

导入大量数据时,应禁用以下功能。

  1. 禁用触发器
  2. 禁用索引
  3. 禁用约束或检查
  4. 禁用外键

因为每次插入时,数据库都会检查插入记录在其他表中的关系。随着桌子变得越来越大,这个过程开始减慢。每次插入期间,数据库还会对该表的索引执行额外的插入操作或运行插入触发器。

另外,由于MySQL中的事务很弱,所以需要工作,以便commit不是每次插入后都工作,可以使用commit命令,例如每10000条记录插入后一次。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!