Mysql
 sql >> база данни >  >> RDS >> Mysql

Подобряване на производителността на mysql LOAD DATA / mysqlimport?

MySQL/MariaDB двигателят имат малко паралелизиране при правене на групови вмъквания. Може да използва само едно процесорно ядро ​​за LOAD DATA изявление. Вероятно може да наблюдавате използването на процесора по време на натоварване, за да видите, че едно ядро ​​е напълно използвано и може да предостави само толкова изходни данни, като по този начин оставяте пропускателната способност на диска недостатъчно използвана.

Най-новата версия на MySQL има нова функция за паралелно зареждане:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-parallel-table.html . Изглежда обещаващо, но вероятно все още не е получил много отзиви. Не съм сигурен, че би помогнало във вашия случай.

Видях различни контролни списъци в интернет, които препоръчват да има по-високи стойности в следните конфигурационни параметри:log_buffer_size , log_file_size , write_io_threads , bulk_insert_buffer_size . Но ползите не бяха много изразени, когато направих сравнителни тестове (може би 10-20% по-бързо от просто innodb_buffer_pool_size е достатъчно голям).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Екраниране на стойности в SQL заявки (C# с SQL конектор)

  2. Пишете с главна буква от няколко думи от колона без CAP_FIRST

  3. Проверете и оптимизирайте MySQL база данни автоматично с Crontab/Cron

  4. Уникално текстово поле в MySQL и php

  5. EEE MMM dd HH:mm:ss ZZZ yyyy формат на датата в java.sql.Date