Это старая версия документа!


  • макс. диск: 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 теряется, если для запросов нет индексов

Рекомендации: высоконагруженные сайты, финансовые транзакции

  • Используется для объединения одинаковых таблиц в одну
  • таблицы должны иметь идентичную структуру
  • порядок столбцов должен совпадать
  • DROP не удаляет исходных таблиц
  • таблицы могут быть в другой базе данных
  • можно использовать для алиасов (для одной таблицы)
  • нельзя пользоваться FULLTEXT search
  • нельзя смешивать временные и не временные таблицы
  • медленная при чтении по ключу
  • REPLACE не работает
  • не отслеживаются изменения в структуре исходных таблиц (таблица будет поломана)

Рекомендации: «удобная» (ре)организация таблиц

  • транзакций нет
  • блокировка таблицы
  • репликация: да
  • макс. длина ключа: 500 байт
  • все данные теряются при остановке сервера (сама таблица остаётся)
  • формат хранения: всегда fixed-length row
  • память не высвобождается при удалении записи (используется для вставки новых)

большие таблицы «свопяться» на диск и выигрыш теряется

Рекомендации: Локальные вычисления, временные данные

  • макс. диск: нет ограничения
  • блокировка записи
  • не работает DELETE, REPLACE, UPDATE, ORDER BY, тип BLOB
  • INSERT буферизируется и «сливается» с большой задержкой
  • очень медленный SELECT

Рекомендации: логирование операций (аудит, статистические данные, счетчики)