Bagaimana untuk Mempercepatkan Import Data ke dalam MySQL InnoDB dan Menamatkan Pertanyaan Lambat?

Linda Hamilton
Lepaskan: 2024-11-08 11:15:02
asal
515 orang telah melayarinya

How to Speed Up Data Import into MySQL InnoDB and Terminate Slow Queries?

Pengoptimuman untuk Import Data Sepantas Kilat dengan MySQL

Pertanyaan:

Apabila mengimport banyak data (kira-kira 3.6 juta baris) ke dalam jadual MySQL InnoDB menggunakan "Muat data dalam fail", bagaimanakah prosesnya boleh dipercepatkan? Selain itu, bagaimanakah pertanyaan perlahan boleh ditamatkan tanpa mengganggu perkhidmatan MySQL?

Penyelesaian:

Pecutan Import Data:

Untuk mengoptimumkan proses import data semasa menggunakan Innodb:

  • Isih Fail Input: Susun fail CSV dalam tertib menaik berdasarkan kunci utama jadual sasaran. Struktur kunci primer berkelompok Innodb meningkatkan kelajuan pemuatan dengan ketara apabila data diisih.
  • Skrip Muatan Dioptimumkan: Gunakan skrip berikut untuk import data yang optimum:
truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;
Salin selepas log masuk
  • Pengoptimuman Jadual: Tingkatkan masa muat lagi dengan melaraskan tetapan jadual ini:
set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;
Salin selepas log masuk
  • Pembahagian Data: Bahagikan CSV failkan kepada bahagian yang lebih kecil untuk meningkatkan kelajuan import.

Penamatan Pertanyaan Lambat:

Untuk menamatkan pertanyaan perlahan tanpa memulakan semula MySQL:

  • Kenal pasti ID urutan pertanyaan menggunakan:
SHOW PROCESSLIST;
Salin selepas log masuk
  • Tamatkan pertanyaan menggunakan:
KILL <thread_ID>;
Salin selepas log masuk

Statistik Prestasi:

Berdasarkan prestasi beban pukal yang diperhatikan:

  • Kadar import: 3.5 - 6.5 juta baris seminit
  • Volume import setiap jam: 210 - 400 juta baris

Atas ialah kandungan terperinci Bagaimana untuk Mempercepatkan Import Data ke dalam MySQL InnoDB dan Menamatkan Pertanyaan Lambat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!