Mesin MySQL/MariaDB memiliki sedikit paralelisasi saat membuat penyisipan massal. Itu hanya dapat menggunakan satu inti CPU per LOAD DATA
penyataan. Anda mungkin dapat memantau penggunaan CPU selama pemuatan untuk melihat satu inti digunakan sepenuhnya dan hanya dapat menyediakan begitu banyak data keluaran - sehingga membuat throughput disk kurang dimanfaatkan.
Versi terbaru MySQL memiliki fitur pemuatan paralel baru:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-parallel-table.html . Kelihatannya menjanjikan tetapi mungkin belum menerima banyak umpan balik. Saya tidak yakin itu akan membantu dalam kasus Anda.
Saya melihat berbagai daftar periksa di internet yang merekomendasikan memiliki nilai yang lebih tinggi di parameter konfigurasi berikut:log_buffer_size
, log_file_size
, write_io_threads
, bulk_insert_buffer_size
. Tetapi manfaatnya tidak terlalu terasa ketika saya melakukan tes perbandingan (mungkin 10-20% lebih cepat daripada hanya innodb_buffer_pool_size
cukup besar).