У меня есть довольно большая таблица myISAM (95M + строки), которая обновляется один раз в день (5M + строки).
Запрос прост
UPDATE main_table a JOIN updated_values b ON a.id=b.id set a.theCount=b.theCount;
Время выполнения
- SSD RAID 5: 960 с
- ramDisk: 124 с
- Таблицы ПАМЯТИ: 20,1 с
Эти цифры показывают, что вызов UPDATE привязан к вводу / выводу (20 секунд для выполнения, когда данные уже находятся в памяти ...). Не ясно, однако, что делать. Таблицы RamDisks и MEMORY требуют записи данных на стабильный носитель. Преобразование таблицы из MEMORY в MyISAM занимает вечность. Таким образом, кажется, что самым быстрым решением является копирование файлов MyISAM на ramDisk, обновление и копирование обратно в рейд SSD, что занимает менее 20 секунд RT.
Есть ли способ настроить буферы MySQL таким образом, чтобы не было необходимости беспокоиться о ramDisk? (эта система работает на Mac)