2012-02-09 4 views
0

Итак, у меня есть централизованная CMS с несколькими сайтами, запущенными из одной БД. Недавно мы очень редко получали ошибку max_user_connections, которую мы видели ранее (на гораздо более медленном сервере).mysql max_user_connections и innodb vs myisam

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

Я немного поработал над innodb vs myisam, и я не верю, что потеря полнотекстового индексирования будет проблемой, однако я не уверен в том, что касается внешнего ключа.

Итак, мой вопрос: с этим работает на базе производства, с огромной CMS и различными экземплярами кода переднего конца, могут быть какие-то серьезные проблемы при конвертации в innodb? Например, какие именно запросы больше не будут работать?

+0

http://stackoverflow.com/questions/2006053/converting-myisam-to-innodb-beneficial-consequences http://stackoverflow.com/questions/20148/myisam-versus-innodb – vulkanino

ответ

1

Две точки:

  • Increasing the connections - Это не решит вашу проблему, имея такие "Stop в любую страну" сценарии. Увеличение соединений даст вам больше параллельных соединений, но при таких проблемах обычно стоит , что операция в таблице является частым и между одной операцией один или несколько подобных запросов выполняются в состоянии блокировки. Поэтому, даже если вы значительно увеличите количество пулов соединений, это будет лишь временное решение.

  • InnoDB - это совершенно другой механизм хранения. Поэтому вам нужно инвестировать некоторое время в разные конфигурации и сценарии резервного копирования. С точки зрения запроса у вас может быть больше вариантов с innodb, а не с myisam. Afaik - единственное, что невозможно, - это полнотекстовое индексирование. См. Полный список плюсов и минусов: http://www.kavoir.com/2009/09/mysql-engines-innodb-vs-myisam-a-comparison-of-pros-and-cons.html. Один намек: Получить в контакте с различным набором инструментов для восстановления, отказоустойчивых и резервного копирования

Альтернативы: Вы не могли бы иметь никакого другого выбора, кроме разрешения запирающие вопросов путем переключения либо механизма на уровне строк запирающего или переключение что-то совершенно другое.

Существует также возможность не переключаться полностью. Вы можете настроить механизм хранения на основе таблицы. Поэтому, если вы идентифицируете таблицу, в которой возникают проблемы с блокировкой, вы можете просто перенести эту таблицу на другой механизм хранения.

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