Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mempercepatkan Import Data ke dalam MySQL InnoDB dan Menamatkan Pertanyaan Lambat?

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

Linda Hamilton
Linda Hamiltonasal
2024-11-08 11:15:02616semak imbas

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;
  • 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;
  • 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;
  • Tamatkan pertanyaan menggunakan:
KILL <thread_ID>;

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!

Kenyataan:
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