sql >> Databáze >  >> RDS >> Mysql

Zlepšit výkon mysql LOAD DATA / mysqlimport?

Motor MySQL/MariaDB má malou paralelizaci při hromadném vkládání. Může používat pouze jedno jádro CPU na LOAD DATA tvrzení. Pravděpodobně můžete sledovat využití CPU během zatížení, abyste viděli, že jedno jádro je plně využito a může poskytnout pouze tolik výstupních dat – takže propustnost disku zůstává nevyužitá.

Nejnovější verze MySQL má novou funkci paralelního načítání:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-parallel-table.html . Vypadá to slibně, ale pravděpodobně zatím nedostalo moc ohlasů. Nejsem si jistý, že by to ve vašem případě pomohlo.

Na internetu jsem viděl různé kontrolní seznamy, které doporučovaly vyšší hodnoty v následujících konfiguračních parametrech:log_buffer_size , log_file_size , write_io_threads , bulk_insert_buffer_size . Ale přínosy nebyly příliš výrazné, když jsem prováděl srovnávací testy (možná o 10–20 % rychlejší než jen innodb_buffer_pool_size je dostatečně velký).



  1. Dotaz MySQL založený na vstupu uživatele

  2. jak opravit nedefinovanou proměnnou:spolupracovníci v domPDF v Laravelu

  3. Jak zavolat super metodu objektu Oracle PL/SQL

  4. MySQL WHERE IN ()