Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Poprawić wydajność mysql LOAD DATA / mysqlimport?

Silnik MySQL/MariaDB ma niewielką równoległość podczas tworzenia wstawek zbiorczych. Może używać tylko jednego rdzenia procesora na LOAD DATA oświadczenie. Prawdopodobnie możesz monitorować wykorzystanie procesora podczas ładowania, aby zobaczyć, jak jeden rdzeń jest w pełni wykorzystany i może dostarczyć tylko tyle danych wyjściowych - w ten sposób pozostawiając przepustowość dysku niewykorzystaną.

Najnowsza wersja MySQL ma nową funkcję ładowania równoległego:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-parallel-table.html . Wygląda obiecująco, ale prawdopodobnie nie otrzymał jeszcze wielu opinii. Nie jestem pewien, czy pomogłoby to w twoim przypadku.

Widziałem różne listy kontrolne w Internecie, które zalecały posiadanie wyższych wartości w następujących parametrach konfiguracyjnych:log_buffer_size , log_file_size , write_io_threads , bulk_insert_buffer_size . Ale korzyści nie były zbyt wyraźne, gdy wykonałem testy porównawcze (może 10-20% szybciej niż tylko innodb_buffer_pool_size jest wystarczająco duży).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Doctrine Paginator wybiera całą tabelę (bardzo wolno)?

  2. Scal i zaktualizuj klucz podstawowy

  3. Python pymySQL wysyłający ciąg znaków z cudzysłowami

  4. Jak mogę sprawdzić, ile połączeń MySQL jest otwartych?

  5. Uprawnienia użytkownika MySQL