Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Sidius от 22 Августа 2013, 21:00:00



Название: SQL вопрос
Отправлено: Sidius от 22 Августа 2013, 21:00:00
Хотелось бы узнать с какой целью сделаны разные типы ENGINE для разных таблиц в mysql?
Как по мне более "спокойный" - ENGINE=MyISAM
Ибо если в "неудачный" момент произойдет краш сервера то таблицы с ENGINE=InnoDB можно просто "потерять".


Название: Re: SQL вопрос
Отправлено: Efendy от 23 Августа 2013, 06:32:29
myisam это "несерьезный" тип таблиц. Да, местами быстрый, но его удел форумы и подобное. innodb - это транзакционные таблицы, а там где  деньги - это очень важно. Кстати, больше шансов потерять данные из myisam чем innodb


Название: Re: SQL вопрос
Отправлено: Sidius от 23 Августа 2013, 08:45:08
Расскажу случай, неожидано по питанию "крашнулся" сервер. Таблицы что были myisam - repair table xxx - и все ок. Ну возможно потерять какую-то запись и то на моей памяти сколько я админю уже - случаи потери записи можно пересчитать на пальцах одной руки. А в этом случае mysqld просто не запускался из-за ошибки индексах innodb. Всякие там чтения документаций и прочтения сакральных надписей на шаманских бубнах не помогали. Некоторые таблицы с трудом были подняты методом optimize table, некоторые пришлось удалить и просто похерить данные чтобы запустить вообще в целом mysqld. Так то...