Отличия MyISAM InnoDB
- В InnoDB при записи блокируется строка, в MyISAM - вся таблица. Поэтому там, где планируется большое кол-во запросов на запись, выгоднее использовать InnoDB.
- В InnoDB поддерживаются транзакции.
- В InnoDB поддерживаются внешние ключи.
- В MyISAM поддерживается сжатие таблиц.
- Данные InnoDB хранятся в одном файле, а в MyISAM в на каждую таблицу свой. Поэтому периодически MyISAM данные нужно оптимизировать.
- В InnoDB при восстановлении от сбоя используется лог транзакций. В MyISAM для восстановления нужно сканировать таблицы. При увеличении объёма MyISAM данных увеличивается и время восстановления. В InnoDB восстановление занимает одно и то же время.
- В InnoDB есть необходимость периодически сбрасывать данные в лог.
- В MyISAM есть встроенный полнотекстовой поиск.
- В InnoDB возможны взаимоблокировки процессов (deadlock).
Янчарук А.В.
07.12.2012 07:16