Spec-Zone .ru
спецификации, руководства, описания, API
|
Следующие ограничения применяются к использованию механизмов хранения с определяемым пользователем разделением таблиц.
MERGE
механизм хранения. Определяемое пользователем разделение и MERGE
механизм хранения не является совместимым. Таблицы используя MERGE
механизм хранения не может быть разделен. Разделенные таблицы не могут быть
объединены.
FEDERATED
механизм хранения. Разделение FEDERATED
таблицы не поддерживаются; не возможно создать разделенный FEDERATED
таблицы.
CSV
механизм хранения. Разделенные таблицы используя CSV
механизм хранения не поддерживается; не возможно создать разделенный CSV
таблицы.
InnoDB
механизм хранения. InnoDB
внешние ключи и разделение MySQL не являются совместимыми. Разделенный
InnoDB
у таблиц не может быть ссылок внешнего ключа, и при этом им не могли
сослаться на столбцы внешние ключи. InnoDB
таблицы, которые имеют или на которые
ссылаются внешние ключи, не могут быть разделены.
Кроме того, ALTER TABLE ... OPTIMIZE
PARTITION
не работает правильно с разделенными таблицами, которые используют InnoDB
механизм хранения. Использовать ALTER TABLE ... REBUILD PARTITION
и ALTER TABLE ... ANALYZE PARTITION
, вместо этого, для таких таблиц. Для получения
дополнительной информации см. Раздел 13.1.7.1,"ALTER TABLE
Операции раздела".
NDB
механизм хранения (MySQL Cluster). Разделение KEY
(включая LINEAR KEY
) единственный тип разделения
поддерживаемого для NDB
механизм хранения. Не возможно в MySQL Cluster NDB 7.3 составить таблицу
MySQL Cluster, используя любой тип разделения кроме [LINEAR
] KEY
,
и попытка сделать так сбои с ошибкой.
Кроме того, максимальное количество разделов, которые могут быть определены для NDB
таблица зависит от числа узлов данных и групп узла в кластере, версии
программного обеспечения MySQL Cluster в использовании, и других факторах. См. NDB
и определяемое пользователем разделение, для получения дополнительной
информации.
CREATE
TABLE
и ALTER
TABLE
операторы, которые вызвали бы разделенный пользователем NDB
таблица, чтобы не встретиться или или оба из следующих двух требований не
разрешается, и сбой с ошибкой:
У таблицы должен быть явный первичный ключ.
Все столбцы, перечисленные в выражении разделения таблицы, должны быть частью первичного ключа.
Исключение. Если разделенный пользователем NDB
таблица составляется, используя пустой список столбцов (то есть, используя
PARTITION BY KEY()
или PARTITION BY LINEAR KEY()
),
тогда никакой явный первичный ключ не требуется.
Обновление разделенных таблиц. Выполняя обновление, таблицы, которые делятся KEY
и которые используют любой механизм хранения кроме NDB
должен быть выведен и перезагружен.
Тот же самый механизм хранения для всех разделов. Все разделы разделенной таблицы должны использовать тот же самый механизм хранения, и это должен быть тот же самый механизм хранения, используемый таблицей в целом. Кроме того, если Вы не определяете механизм на табличном уровне, то нужно сделать или следующего, создавая или изменяя разделенную таблицу:
Не определяйте механизм для любого раздела или подраздела
Определите механизм для всех разделов или подразделов