26.11.2019

mysql optimization

Задача отображать данные из таблицы которая превышает 100 млн записей. Опции которые нужно проверить. Для отображения последних данных используется скрипт:

  1. Создание индекса НЕ на всю длину,
  2. Создание индексов для двух колонок,
  3. Для уменьшения места можно использовать компрессию для таблицы, сжимает – будь здоров, но потеря в производительности.
  4. Ограничение времени для выполнения конкретного запроса через /*+ MAX_EXECUTION_TIME($TIMEOUT) */  где $TIMEOUT в микросекундах.
  5. Изменение параметров кешей и прочего значимых изменений не дали.
  6. Создание и управление вторым сервером на компьютере для проведения тестирования при помощи mysqld_multi.
  7. create table new like current > rename current to old_tmp, new to current > select into tmp.csv where time > (2 days) > load data from tmp.csv into current > rm csv.