Это старая версия документа!
InnoDB
- макс. диск: 64Тб
- полная поддержка транзакций (4 уровня изоляции)
- блокировка записи/строк (не таблицы), два вида блокировок (SHARED, EXCLUSIVE)
- полнотекстовый индекс: нет
- безопасная для транзакций
- индексы кластеризуются для «типичных запросов»
- поддержка целостности (внешние ключи)
- может использоваться на ОС с ограниченным размером файла
- множество настроек для оптимизации
- позволяет использовать Raw Disk для таблиц в обход ФС
- по умолчанию включен AUTOCOMMIT (SET autocommit=1)
- автоматически детектит дэдлоки (deadlocks)
Движок был разработан специально для больших таблиц. Разработчики заявляют, что InnoDB — самый быстрый из всех известных движков для БД основанных на дисках (множественные тесты это подтверждают)
Советы/Рекомендации
- SELECT COUNT(*) FROM table работает гораздо медленнее, чем MyISAM — создавайте триггеры если нужно (COUNT, SUM, AVG, etc)
- бэкап простым копирование файлов невозможен
- mysqldump работает медленно, для бэкапа используйте InnodDb Hot Backup
- следите за индексами, выгода InnoDB теряется, если для запросов нет индексов
Рекомендации: высоконагруженные сайты, финансовые транзакции
XtraDB
MERGE
- Используется для объединения одинаковых таблиц в одну
- таблицы должны иметь идентичную структуру
- порядок столбцов должен совпадать
- DROP не удаляет исходных таблиц
- таблицы могут быть в другой базе данных
- можно использовать для алиасов (для одной таблицы)
- нельзя пользоваться FULLTEXT search
- нельзя смешивать временные и не временные таблицы
- медленная при чтении по ключу
- REPLACE не работает
- не отслеживаются изменения в структуре исходных таблиц (таблица будет поломана)
Советы/Рекомендации
Рекомендации: «удобная» (ре)организация таблиц
HEAP (MEMORY)
- транзакций нет
- блокировка таблицы
- репликация: да
- макс. длина ключа: 500 байт
- все данные теряются при остановке сервера (сама таблица остаётся)
- формат хранения: всегда fixed-length row
- память не высвобождается при удалении записи (используется для вставки новых)
Советы/Рекомендации
большие таблицы «свопяться» на диск и выигрыш теряется
Рекомендации: Локальные вычисления, временные данные
ARCHIVE
- макс. диск: нет ограничения
- блокировка записи
- не работает DELETE, REPLACE, UPDATE, ORDER BY, тип BLOB
- INSERT буферизируется и «сливается» с большой задержкой
- очень медленный SELECT
Советы/Рекомендации
Рекомендации: логирование операций (аудит, статистические данные, счетчики)