2015-01-20 4 views
1

У меня есть другой список таблиц, кроме этой таблицы, тип InnoDb, а другие - тип MyIsm.Блокировка/блокировка уровня таблицы MyIsam

Моя проблема заключается в том, что я не получаю никакого ответа на своем веб-сайте. Когда я просматриваю список процессов на MySql я обнаружил, что:

enter image description here

В таблицу, содержащую список всех вопрос, что передача данных, какой-то другой процесс в ожидании, чтобы обновить колонки вопроса и некоторые другие процессы в ожидании, чтобы вставить данные в такой же таблица.

Эта таблица содержит список вопросов. Тип - MyIsam. Размер таблицы составляет около 5 ГБ.

Как я могу это решить?

ответ

0

Есть несколько решений для этого, некоторые могут применяться, некоторые нет.

  1. Добавить индексы в некоторых столбцах
  2. Изменить тип базы данных InnoDB
  3. Взгляните на ваш запрос и улучшить производительность

При добавлении индексов к вам таблице поиска будет много быстрее, и поэтому блокировка стола будет не так долго.

При изменении типа базы данных InnoDB замок будет влиять только на строку() запрос, используя, таким образом, другие строки по-прежнему доступны для других запросов Query

В самом большинстве случаев много вашего запроса производительности можно получить, удалив ненужные статьи joins или order by. Возможно, вы можете использовать временные таблицы вместо нескольких subselects и т. Д.

Смежные вопросы