20 января 2025 г.
В MySQL можно использовать разные механизмы хранения (engine) для разных таблиц в одной базе данных. Это позволяет оптимизировать производительность в соответствии с потребностями каждой таблицы.
Для просмотра доступных в БД механизмов можно воспользоваться следующим кодом:
SHOW ENGINES;
Таблица механизмов с особенностями:
Механизм хранения данных |
InnoDB |
MyISAM |
MEMORY/NDB Cluster |
FEDERATED |
ARCHIVE |
CSV |
MERGE (MRG_MyISAM) |
BLACKHOLE |
B-tree индексы |
Да |
Да |
Да |
Зависит от таблицы на удалённом сервере |
Нет |
Нет |
Зависит от объединяемых таблиц, актуален только для механизма хранения данных MyISAM |
Нет |
Резервное копирование/восстановление на определенный момент времени (Реализовано на сервере) |
Да |
Да |
Да |
Да |
Нет |
Нет |
Сжатые данные |
Да |
Да (Сжатые таблицы MyISAM поддерживаются только при использовании формата сжатых строк. Таблицы, использующие формат сжатых строк с MyISAM, доступны только для чтения.) |
Нет |
Да |
Нет |
Нет |
Кэш данных |
Да |
Нет |
Н/Д |
Нет |
Нет |
Нет |
Шифрование данных |
Да (реализовано на сервере с помощью функций шифрования; в MySQL 5.7 и более поздних версиях поддерживается шифрование данных в состоянии покоя.) |
Да (Реализовано на сервере посредством функций шифрования.) |
Да (Реализовано на сервере посредством функций шифрования.) |
Да (Реализовано на сервере посредством функций шифрования.) |
Нет |
Нет |
Поддержка внешнего ключа |
Да |
Нет |
Нет |
Нет |
Нет |
Нет |
Полнотекстовые поисковые индексы |
Да (Поддержка индексов FULLTEXT доступна в MySQL 5.6 и более поздних версиях.) |
Да |
Нет |
Нет |
Нет |
Нет |
Поддержка геопространственных типов данных |
Да |
Да |
Нет |
Да |
Нет |
Нет |
Поддержка геопространственной индексации |
Да (Поддержка геопространственного индексирования доступна в MySQL 5.7 и более поздних версиях.) |
Да |
Нет |
Нет |
Нет |
Нет |
Хэш-индексы |
Нет (InnoDB использует внутренние хэш-индексы для своей функции адаптивного хэш-индекса.) |
Нет |
Да |
Нет |
Нет |
Нет |
Кэш индексов |
Да |
Да |
Н/Д |
Нет |
Нет |
Нет |
Уровень гранулярности блокировок |
Ряд |
Таблица |
Таблица |
Ряд |
Нет |
Нет |
MVCC (Механизм для обеспечения параллельного доступа) |
Да |
Нет |
Нет |
Нет |
Нет |
Нет |
Поддержка репликации (Реализовано на сервере) |
Да |
Да |
Ограничено (см. обсуждение далее в этом разделе). |
Да |
Нет |
Нет |
Ограничения на хранение |
64ТБ |
256ТБ |
ОЗУ |
Никто |
Нет |
Нет |
T-tree indexes |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Транзакции |
Да |
Нет |
Нет |
Нет |
Нет |
Нет |
Обновление статистики для словаря данных |
Да |
Да |
Да |
Да |
Нет |
Нет |