InnoDB имеет очень сложную архитектуру в фоновом режиме
InnoDB Архитектура
В случае сбоя InnoDB имеет буфер двойной записи и файлы журнала для поддержки механизмов восстановления после сбоя. MyISAM не имеет такой защиты. Я написал сообщения в DBA StackExchange об этом:
Oct 08, 2012
: MYSQL Реализация восстановления данных MyISAMMar 19, 2012
: Очень маленькая таблица MySQL продолжает падатьMar 15, 2012
: Почему происходит сбой таблиц MySQL? Как мне это предотвратить?Feb 16, 2012
: Таблица MyISAM продолжает падать. Какие у меня варианты?
MyISAM может аварийно завершить работу, поскольку данные никогда не кэшируются в памяти. Все операции чтения и записи требуют перебора ввода-вывода из .MYD
файла таблиц MyISAM . Это означает, что дескрипторы открытых файлов находятся во власти ОС.
Если вы хотите, чтобы InnoDB был ремонтопригодным, вам нужно настроить my.cnf, чтобы сделать InnoDB менее зависимым от ОС и более зависимым от внутренней архитектуры. См. Мой недавний пост Высокая средняя загрузка из-за высокой загрузки процессора MySQL . Таким образом, InnoDB Crash Recovery может быть более самовосстанавливающимся.