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