14.1 Введение в InnoDB
InnoDB — это универсальный движок хранения, который обеспечивает высокую надёжность и производительность. В MySQL 5.7, InnoDB является стандартным движком хранения MySQL. Если вы не настроили другой стандартный движок хранения, выполнение инструкции CREATE
TABLE без указания ENGINE создаёт таблицу InnoDB.
Основные преимущества InnoDB
Его операции DML следуют модели ACID, при этом транзакции имеют возможности фиксации, отката и восстановления при сбоях для защиты данных пользователя. См. Раздел 14.2, «InnoDB и модель ACID».
Блокировка на уровне строк и согласованные чтения в стиле Oracle увеличивают конвейерность и производительность в многопользовательской среде. См. Раздел 14.7, «Блокировка и модель транзакций InnoDB».
Таблицы
InnoDBорганизуют ваши данные на диске, оптимизируя запросы на основе первичных ключей. Каждая таблицаInnoDBимеет первичный ключ, называемый кластеризованным индексом, который организует данные для минимизации ввода/вывода при поиске по первичным ключам. См. Раздел 14.6.2.1, «Кластеризованные и вторичные индексы».Для поддержания целостности данных,
InnoDBподдерживаетFOREIGN KEYограничения. С помощью внешних ключей проверки вставляемых, обновляемых и удаляемых данных для обеспечения отсутствия несоответствий в связанных таблицах. См. Раздел 13.1.18.5, «Ограничения FOREIGN KEY».
Таблица 14.1 Функциональные возможности движка InnoDB
| Функция | Поддержка |
|---|---|
| Индексы B-дерева | Да |
| Резервное копирование/восстановление в определённый момент времени (Реализовано в сервере, а не в движке хранения.) | Да |
| Поддержка кластеризованной базы данных | Нет |
| Кластеризованные индексы | Да |
| Сжатие данных | Да |
| Кэши данных | Да |
| Шифрование данных | Да (Реализовано в сервере с помощью функций шифрования; в MySQL 5.7 и более поздних версиях поддерживается шифрование данных в состоянии покоя.) |
| Поддержка внешних ключей | Да |
| Индексы полнотекстового поиска | Да (Поддержка индексов FULLTEXT доступна в MySQL 5.6 и более поздних версиях.) |
| Поддержка геопространственных типов данных | Да |
| Поддержка индексирования геопространственных данных | Да (Поддержка индексирования геопространственных данных доступна в MySQL 5.7 и более поздних версиях.) |
| Индексы хеш-таблиц | Нет (InnoDB использует индексы хеш-таблиц в своём адаптивном индексе хеш-таблиц.) |
| Кэши индексов | Да |
| Размер блокировки | Строка |
| MVCC | Да |
| Поддержка репликации (Реализовано в сервере, а не в движке хранения.) | Да |
| Пределы хранения | 64 ТБ |
| Индексы T-дерева | Нет |
| Транзакции | Да |
| Обновление статистики словаря данных | Да |
Для сравнения функций InnoDB с другими движками хранения, предоставляемыми MySQL, см. таблицу Функциональные возможности движков хранения в Главе 15, Альтернативные движки хранения.
Улучшения и новые функции InnoDB
Для получения информации об улучшениях и новых функциях InnoDB, см.:
Список улучшений
InnoDBв Разделе 1.3, «Что нового в MySQL 5.7»..
Дополнительная информация и ресурсы по InnoDB
Для
InnoDBтерминов и определений см. .Для форума, посвящённого движку хранения
InnoDB, см. Форумы MySQL::InnoDB.InnoDBопубликован под той же лицензией GNU GPL Версия 2 (от июня 1991 г.) что и MySQL. Для получения дополнительной информации о лицензировании MySQL, см. http://www.mysql.com/company/legal/licensing/.
© 2025 Oracle
Licensed under the GPLv2 License.