Я только что добавил еще один индекс в таблицу в своей базе данных, но теперь сайт дает сбой, запросы блокируются и не разблокируются, а запросы не выполняются (я вижу их в списке процессов, и они обычно выполняются менее секунды, но теперь они составляют около 600 секунд и более и т. д.).
На своем сайте я ничего не менял, просто добавил индекс. Как это возможно, были ли у кого-нибудь ранее подобные проблемы, которые могли бы помочь мне решить мою проблему?
Обновить: Я не совсем уверен, что произошло, но один конкретный запрос был очень медленным после добавления индекса (хотя этот индекс не нужен / не использовался для этого конкретного запроса). Даже удаление индекса не помогло снова ускорить запрос. После этого я удалил все индексы из этой таблицы и снова добавил индексы один за другим, после чего запрос снова был быстрым. Не уверен, поможет ли это кому-нибудь, но это исправило это для меня.
Найдите соответствующий запрос, скажите, что это что-то вроде
select * from tableName where user='bob' order by ts;
Затем добавьте EXPLAIN
спереди
EXPLAIN select * from tableName where user='bob' order by ts;
Оттуда вы можете увидеть, используется ли индекс, сколько таблиц он должен просканировать и сколько он возвращает. Я предполагаю, что это ... У вас был индекс, который он использовал раньше, а теперь вы создали этот новый индекс, который хуже, и вместо этого он каким-то образом использует.
Вы не предоставили никаких деталей схемы базы данных, добавленного вами индекса, используемого движка базы данных, выполняемых запросов, влияет ли изменение производительности на все запросы / запросы, использующие новый индекс / запросы, использующие измененную таблицу / некоторые только запросы. Так что сказать довольно сложно.
Единственные причины для добавления индекса:
1) чтобы ускорить процесс
2) заставить уникальное ограничение
(опять же, вы не сказали, для чего предназначен ваш индекс).
Поскольку очевидно, что это не помогло ускорить процесс, вам следует отбросить индекс и посмотреть, возобновится ли он в обычном режиме, но вы можете захотеть посмотреть, как вы собираете и анализируете свою статистику, прежде чем делать это.