Тема: MyISAM!!!
Показать сообщение отдельно
Непрочитано 28.06.2010, 17:34   #5
Пользователь

По умолчанию Re: InnoDB!!!

Во-первых: убрать в конфиге skip-innodb, как говорил тов. PROGRAMMATOR.
Во-вторых: пройтись по всем файлам базы данных сервера и поменять в CREATE TABLE ... (...) Engine=MyISAM; на CREATE TABLE ... (...) Engine=InnoDB; или, если сервер уже установлен, сделать для всех таблиц ALTER TABLE <table_name> ENGINE=InnoDB;

Касательно использования InnoDB вообще. Основное отличие между MyISAM-движка базы и InnoDB в появлении в последнем поддержки транзакций и построчной блокировки таблиц (в MyISAM блокировка при селектах/инсертах/апдейтах потабличная, т.е. с одной таблицей по-факту только один запрос работать может). Транзакции понизят производительность базы (из-за больших накладных расходов на каждый запрос), а вот построчная блокировка значительно ускорит работу с базой в сильно нагруженном приложении (например, в сервере ла2). Включать его однозначно нужно, только хорошо бы сделать это с умом, т.е. на таблицы, где данные более-менее статические (итемы, арморы, нпс, спавн и т.д., те, что читаются один раз при старте) лучше его не включать, а на динамические таблицы, в которые идут постоянно запросы на добавление/обновление/чтение данных (игроки, инвентарь, макросы, переменные игрока и т.д.) хорошо бы InnoDB включить.
Blakkky вне форума Ответить с цитированием
Сказали спасибо: