2013-05-10 2 views
1

Наша база данных сервера находится в mysql 5.1 У нас есть 754 таблиц в нашем db. Мы создаем таблицу для каждого проекта. Следовательно, большое количество таблиц. С прошлой недели я заметил очень долгую задержку в вставках и обновлениях к любой таблице. Если я создаю новую таблицу и вставляю в нее, она занимает один мин, чтобы вставить около 300 речей.Mysql вставка, обновления очень медленные

Где, как наша тестовая база данных на том же сервере, имеет 597 таблиц. То же самое вставка очень быстро выполняется в тестовом db.

Двигатель по умолчанию - MYISAM. Но у нас мало таблиц в INNODB.

Было запущено несколько триггеров. После того, как я удалил триггеры, стало немного быстрее. Но это не достаточно быстро.

ответ

1

ИСПОЛЬЗУЙТЕ DESCRIBE, чтобы узнать ваши планы выполнения запроса.

Посмотрите еще http://dev.mysql.com/doc/refman/5.1/en/explain.html для его использования.

+0

Лучше иметь в виду комментарий ... – hd1

+1

@ hd1 может быть даже категоризирован под чрезмерно широким .. не является реальным вопросом..lol – swapnesh

0

Как упоминает @swapnesh, команда DESCRIBE очень полезна для отладки производительности. Вы также можете проверить правильность установки по вопросам использования:

Вы можете использовать его как это:

wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl 
chmod +x mysqltuner.pl 
./mysqltuner.pl 

Конечно, здесь я предполагаю, что вы запускаете какой-то система на основе Unix.

Вы можете использовать OPTIMIZE. В соответствии с ним руководство выполняет следующие действия:

Реорганизует физическое хранение данных таблицы и связанные с ними данные индекса , чтобы уменьшить пространство для хранения и повысить эффективность ввода/вывода, когда доступа к таблице. Точные изменения, сделанные в каждой таблице зависят от двигатель, используемый для хранения этой таблицы

синтаксис:

OPTIMIZE TABLE tablename 
0

Вставки обычно быстрее, когда сделано в объеме, а не один за другим. Попробуйте вставить 10, 30 или 100 записей за отчет.

Если вы используете jdbc, вы можете добиться такого же эффекта при пакетной обработке, не меняя SQL.

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