MYSQL (большой) Производительность UPDATE в основном связана с вводом / выводом: какие уроки выучить? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть довольно большая таблица myISAM (95M + строки), которая обновляется один раз в день (5M + строки).

Запрос прост

UPDATE main_table a JOIN updated_values b ON a.id=b.id set a.theCount=b.theCount;

Время выполнения

  1. SSD RAID 5: 960 с
  2. ramDisk: 124 с
  3. Таблицы ПАМЯТИ: 20,1 с

Эти цифры показывают, что вызов UPDATE привязан к вводу / выводу (20 секунд для выполнения, когда данные уже находятся в памяти ...). Не ясно, однако, что делать. Таблицы RamDisks и MEMORY требуют записи данных на стабильный носитель. Преобразование таблицы из MEMORY в MyISAM занимает вечность. Таким образом, кажется, что самым быстрым решением является копирование файлов MyISAM на ramDisk, обновление и копирование обратно в рейд SSD, что занимает менее 20 секунд RT.

Есть ли способ настроить буферы MySQL таким образом, чтобы не было необходимости беспокоиться о ramDisk? (эта система работает на Mac)

...