Mengoptimumkan MySQL LOAD DATA INFILE untuk Import Data Cepat
Mengimport set data besar-besaran ke dalam MySQL menggunakan LOAD DATA INFILE boleh memakan masa, terutamanya apabila mencipta indeks selepas import. Artikel ini meneroka pelbagai teknik untuk mempercepatkan proses dan menangani isu pertanyaan yang ditamatkan yang terus dilaksanakan dalam pangkalan data.
Mempercepat LOAD DATA INFILE
Untuk jadual InnoDB, pertimbangkan petua pengoptimuman berikut:
-
Isih fail CSV dalam susunan kunci utama: InnoDB menggunakan kunci primer berkelompok, jadi mengisih fail akan mempercepatkan proses pemuatan dengan ketara.
-
Potong jadual sebelum memuatkan: Alih keluar data sedia ada untuk meminimumkan masa yang dihabiskan untuk membaca dan menulis.
-
Lumpuhkan autokomit: Tetapkan autokomit=0 untuk menangguhkan komit transaksi sehingga selepas keseluruhan import, mengurangkan bilangan komit dan meningkatkan prestasi.
-
Lumpuhkan semakan: Lumpuhkan semakan kunci unik dan asing buat sementara waktu menggunakan set unique_checks=0 dan tetapkan foreign_key_checks=0.
-
Lumpuhkan pengelogan binari: Gantung pengelogan binari dengan set sql_log_bin=0 untuk menghapuskan overhed yang dikaitkan dengan log penulisan.
-
Pisah fail CSV kepada bahagian: Bahagikan Fail CSV kepada segmen yang lebih kecil untuk pemuatan yang lebih pantas.
Menamatkan Pertanyaan
Untuk menamatkan pertanyaan perlahan tanpa memulakan semula MySQL, cuba yang berikut:
-
Arahan KILL: Keluarkan perintah KILL {query_id} untuk menamatkan pertanyaan khusus.
-
Tutup sambungan klien: Menutup tetingkap terminal tempat pertanyaan itu dengan paksa telah dilaksanakan juga akan menghentikan pertanyaan yang sedang berjalan. Walau bagaimanapun, ini boleh menyebabkan kerosakan atau ketidakkonsistenan data.
Dengan menggunakan pengoptimuman ini, anda boleh meningkatkan prestasi LOAD DATA INFILE dengan ketara dan menyelaraskan proses import data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengoptimumkan MySQL LOAD DATA INFILE untuk Import Data Lebih Pantas?. 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