MySQL вставка / обновление / удаление / выбор иногда идет медленно

Как я использую InnoDB как движок базы данных, запрос выполняется медленнее, иногда это занимает 20 секунд или чаще.

Я знаю решение, это может быть сделано через my.conf изменить значение innodb_flush_log_at_trx_commit to 2 это может решить мою проблему, я тоже хочу это сделать, но так как у меня общий хостинг, они не позволяют мне это делать.

Версия MySQL: 5.6.32-78.1

Я тоже пробовал с MySQL запросом

mysql> SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';
+--------------------------------+-------+
| Variable_name                  | Value |
+--------------------------------+-------+
| innodb_flush_log_at_trx_commit | 1     |
+--------------------------------+-------+
1 row in set

И я попробовал этот запрос

mysql> SET GLOBAL innodb_flush_log_at_trx_commit=2;

но это также не позволяет мне, потому что у меня нет супер привилегий для выполнения этого действия.

У меня есть база данных с 25 столов, И в 4 стола имеются 4000+ записи и в остальных таблицах, есть ниже 100 учет

Так есть ли другое решение для ускорения производительности запросов? Любая помощь будет оценена.

-1

Решение

Используйте профиль, чтобы проверить стоимость времени на каждом этапе;

  1. set profiling=1;
  2. Запустите ваш запрос;
  3. Проверьте запрос:show profiles;
  4. Укажите стоимость времени: show profile block io,cpu for query N;

Найдите шаг, который имеет высокую Duration

Это показывает, как это
профили
список

Возможные проблемы: индекс, сортировка по, сортировка файлов, использование временной таблицы.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector