Spec-Zone.ru › MySQL 8.4

26.6.2 Ограничения по разбиению, связанные с движками хранения

В MySQL 8.4 поддержка разбиения фактически не предоставляется сервером MySQL, а определяется движком хранения таблицы или его собственным обработчиком разбиения. В MySQL 8.4 только InnoDB и NDB движки хранения предоставляют собственные обработчики разбиения. Это означает, что разбиение таблиц невозможно с другими движками хранения, кроме этих. (Для создания NDB таблиц необходимо использовать MySQL NDB Cluster с движком хранения NDB).

Движок хранения InnoDB. InnoDB внешние ключи и разбиение MySQL несовместимы. Разбитые InnoDB таблицы не могут иметь ссылок на внешние ключи, и столбцы, на которые ссылаются внешние ключи, также не могут быть включены. InnoDB таблицы, которые имеют или на которые ссылаются внешние ключи, не могут быть разбиты.

ALTER TABLE ... OPTIMIZE PARTITION не работает правильно с разбитыми таблицами, использующими InnoDB. Используйте ALTER TABLE ... REBUILD PARTITION и ALTER TABLE ... ANALYZE PARTITION для таких таблиц вместо этого. Более подробную информацию можно найти в разделе 15.1.9.1 «Операции ALTER TABLE по разбиению».

Пользовательское разбиение и движок хранения NDB (NDB Cluster). Разбиение по KEY (включая LINEAR KEY) является единственным типом разбиения, поддерживаемым для NDB движка хранения. В NDB Cluster в обычных условиях невозможно создать таблицу NDB Cluster с типом разбиения, отличным от [LINEAR] KEY, и попытка сделать это завершится ошибкой.

Максимальное количество разделов, которое можно определить для NDB таблицы, зависит от количества узлов данных и групп узлов в кластере, версии используемого программного обеспечения NDB Cluster и других факторов. Дополнительную информацию см. в разделе NDB и пользовательское разбиение.

Максимальный объем данных фиксированного размера, который можно хранить в каждом разделе NDB таблицы, составляет 128 ТБ. Ранее это значение составляло 16 ГБ.

CREATE TABLE и ALTER TABLE операторы, которые могут привести к тому, что таблица пользователя, разбитая на NDB не будет соответствовать одному или обоим из следующих двух требований, запрещены и завершаются ошибкой:

  1. Таблица должна иметь явный первичный ключ.

  2. Все столбцы, указанные в выражении разбиения таблицы, должны быть частью первичного ключа.

Исключение. Если разбитая пользователем NDB таблица создается с пустым списком столбцов (то есть с использованием PARTITION BY KEY() или PARTITION BY LINEAR KEY()), явный первичный ключ не требуется.

Выбор раздела. Выбор раздела не поддерживается для NDB таблиц. Дополнительную информацию см. в разделе 26.5 «Выбор раздела».

Обновление разбитых таблиц. При обновлении таблицы, разбитые по KEY, необходимо экспортировать и перегрузить.

Информацию о преобразовании MyISAM таблиц в InnoDB см. в разделе 17.6.1.5 «Преобразование таблиц из MyISAM в InnoDB».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/partitioning-limitations-storage-engines.html

Spec-Zone.ru

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