Spec-Zone.ru › MySQL 8.4

17.1 Введение в InnoDB

  • 17.1.1 Преимущества использования таблиц InnoDB
  • 17.1.2 Лучшие практики для таблиц InnoDB
  • 17.1.3 Проверка, что InnoDB является движком по умолчанию
  • 17.1.4 Тестирование и бенчмаркинг с InnoDB

InnoDB — это универсальный движок хранения, который балансирует высокую надёжность и высокую производительность. В MySQL 8.4, InnoDB является по умолчанию движком хранения MySQL. Если вы не настроили другой движок по умолчанию, выполнение команды 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.20.5, «Ограничения FOREIGN KEY».

Таблица 17.1 Функции движка хранения InnoDB

Таблица 17.1 Функции движка хранения InnoDB
Функция Поддержка
Индексы B-дерева Да
Резервное копирование/восстановление в определённый момент времени (Реализовано в сервере, а не в движке хранения.) Да
Поддержка баз данных кластеров Нет
Кластеризованные индексы Да
Сжатие данных Да
Кэши данных Да
Шифрование данных Да (Реализовано в сервере с помощью функций шифрования; в MySQL 5.7 и более поздних версиях поддерживается шифрование данных в состоянии покоя.)
Поддержка внешних ключей Да
Индексы полнотекстового поиска Да (Поддержка индексов FULLTEXT доступна в MySQL 5.6 и более поздних версиях.)
Поддержка геопространственных типов данных Да
Поддержка геопространственных индексов Да (Поддержка геопространственных индексов доступна в MySQL 5.7 и более поздних версиях.)
Индексы хеш-таблиц Нет (InnoDB использует индексы хеш-таблиц внутри для функции Adaptive Hash Index.)
Кэши индексов Да
Гранularity блокировки Строка
MVCC Да
Поддержка репликации (Реализовано в сервере, а не в движке хранения.) Да
Пределы хранения 64 ТБ
Индексы T-дерева Нет
Транзакции Да
Обновление статистики словаря данных Да

Для сравнения функций InnoDB с другими движками хранения, предоставляемыми MySQL, см. таблицу Функции движков хранения в Главе 18, Альтернативные движки хранения.

Улучшения и новые функции InnoDB

Для получения информации об улучшениях и новых функциях InnoDB, обратитесь к:

  • Списку улучшений InnoDB в Разделе 1.4, «Что нового в MySQL 8.4 по сравнению с MySQL 8.0».

  • .

Дополнительная информация и ресурсы по 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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/innodb-introduction.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API