Adakah terdapat cara untuk meningkatkan prestasi import MySQL yang perlahan dari semasa ke semasa?
P粉969253139
P粉969253139 2024-01-05 09:41:52
0
1
544

Saya mempunyai fail mysqldump yang besar (~700GB) dan saya mahu memulihkannya pada pelayan lain. Untuk GB pertama, kelajuan import agak pantas, sekitar MB/s, tetapi selepas beberapa GB data, kelajuan menurun kepada antara 50kb/s dan 200kb/s.

Parameter untuk mysqldump ialah --skip-comments --no-create-info --no-autocommit --quick --extended-insert --insert-ignore --compress jadi beberapa peningkatan kelajuan telah dilakukan.

Import adalah melalui pv /file.sql | 完成的mysql -u 用户 DB

Saya juga menjalankan mysqltuner dan menambah baik beberapa tetapannya.

Saya tertanya-tanya: adakah perkara biasa untuk mysqldump sebesar itu perlahan selepas beberapa ketika? Atau ada apa-apa yang boleh diperbaiki lagi?

P粉969253139
P粉969253139

membalas semua(1)
P粉201448898

Apabila mengimport sejumlah besar data, ciri berikut harus dilumpuhkan.

  1. Lumpuhkan pencetus
  2. Lumpuhkan pengindeksan
  3. Lumpuhkan kekangan atau semakan
  4. Lumpuhkan kunci asing

Sebab setiap kali anda memasukkan, pangkalan data akan menyemak hubungan rekod yang dimasukkan dalam jadual lain. Apabila jadual semakin besar, proses ini mula perlahan. Semasa setiap sisipan, pangkalan data juga menjalankan operasi sisipan tambahan atau menjalankan pencetus sisipan ke dalam indeks jadual.

Selain itu, oleh kerana transaksi dalam MySQL adalah lemah, anda perlu berusaha supaya commit tidak berfungsi selepas setiap sisipan, anda boleh menggunakan arahan commit, contohnya sekali selepas setiap 10000 rekod dimasukkan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan