Spec-Zone .ru
спецификации, руководства, описания, API
|
Некоторые SQL-операторы, касающиеся определенных функций MySQL, производят ошибки когда использующийся с NDB
таблицы, как описано в следующем списке:
Временные таблицы. Временные таблицы не поддерживаются. Попытка любого, чтобы
создать временную таблицу, которая использует NDB
механизм хранения или изменить существующую временную таблицу,
чтобы использовать NDB
сбои с ошибочным Табличным механизмом хранения 'ndbcluster' не поддерживают создать опцию 'TEMPORARY'.
Индексирует и вводит NDB
таблицы. Ключи и
индексируют на таблицах MySQL Cluster, подвергаются следующим ограничениям:
Столбец width. Попытка создать индексирование на NDB
столбец таблицы, width которого больше чем 3072 байта,
успешно выполняется, но только первые 3072 байта фактически используются для индексирования.
В таких случаях ключ Specified предупреждения был слишком длинным; максимальная длина ключа составляет 3072 байта,
выпускается, и a SHOW
CREATE TABLE
оператор показывает продолжительность индексирования как 3072.
TEXT
и BLOB
столбцы. Невозможно создать, индексирует на NDB
столбцы таблицы, которые используют любой из TEXT
или BLOB
типы данных.
FULLTEXT
индексирует. NDB
механизм хранения не поддерживает FULLTEXT
индексирует, которые возможны для MyISAM
таблицы только.
Однако, можно создать, индексирует на VARCHAR
столбцы NDB
таблицы.
USING HASH
ключи и NULL
. Используя nullable столбцы в уникальных ключах и
средства первичных ключей, что запросы, используя эти столбцы обрабатываются как полные
сканирования таблицы. Чтобы работать вокруг этой проблемы, сделайте столбец NOT NULL
, или воссоздайте индексирование без USING HASH
опция.
Префиксы. Нет никакого префикса, индексирует; только все столбцы
могут быть индексированы. (Размер NDB
столбец индексирует,
всегда то же самое как width столбца в байтах, до и включая 3072 байта, как описано ранее в
этом разделе. Также см. Раздел
17.1.6.6, "Неподдерживаемый или Недостающие возможности в MySQL Cluster",
для дополнительной информации.)
BIT
столбцы. A BIT
столбец не может быть первичным ключом, уникальным
ключом, или индексировать, и при этом это не может быть частью составного первичного ключа,
уникального ключа, или индексировать.
AUTO_INCREMENT
столбцы. Как другие
механизмы хранения MySQL, NDB
механизм хранения может обработать максимум одного
AUTO_INCREMENT
столбец на таблицу. Однако, в случае таблицы
Кластера без явного первичного ключа, AUTO_INCREMENT
столбец
автоматически определяется и используется в качестве "скрытого" первичного ключа. Поэтому
невозможно определить таблицу, у которой есть явное AUTO_INCREMENT
столбец, если тот столбец также не
объявляется, используя PRIMARY KEY
опция. Попытка составить
таблицу с AUTO_INCREMENT
столбец, который не является первичным
ключом таблицы, и использованием NDB
механизм хранения, сбои с ошибкой.
MySQL Cluster и типы данных геометрии. Типы данных
геометрии (WKT
и WKB
) поддерживаются для NDB
таблицы. Однако, пространственный индексирует, не поддерживаются.
Наборы символов и двоичные файлы журнала. В настоящий момент, ndb_apply_status
и ndb_binlog_index
таблицы
составляются, используя latin1
(ASCII) набор символов. Поскольку имена
двоичных журналов записываются в этой таблице, на двоичные файлы журнала, названные, используя
нелатинские символы, не ссылаются правильно в этих таблицах. Это - известная проблема, которую мы
работаем, чтобы устранить. (Ошибка #50226)
Чтобы работать вокруг этой проблемы, используйте только латинский 1 символ, называя двоичные файлы
журнала или устанавливая любого --basedir
, --log-bin
, или --log-bin-index
опции.
Создание NDBCLUSTER
таблицы с определяемым
пользователем разделением. Поддержка определяемого пользователем разделения в MySQL
Cluster ограничивается [LINEAR
] KEY
разделение. Используя любое другое разделение вводят с ENGINE=NDB
или ENGINE=NDBCLUSTER
в a CREATE TABLE
оператор приводит к ошибке.
Схема выделения разделов значения по умолчанию. Все таблицы MySQL Cluster по умолчанию делятся
KEY
использование первичного ключа таблицы как ключ разделения. Если
никакой первичный ключ явно не устанавливается для таблицы, "скрытый"
первичный ключ, автоматически создаваемый NDB
механизм хранения используется вместо этого. Для
дополнительного обсуждения этих и связанных проблем см. Раздел
18.2.5,"KEY
Разделение".
CREATE TABLE
и ALTER TABLE
операторы, которые вызвали бы разделенный пользователем
NDBCLUSTER
таблица, чтобы не встретиться или или оба из следующих
двух требований не разрешается, и сбой с ошибкой:
У таблицы должен быть явный первичный ключ.
Все столбцы, перечисленные в выражении разделения таблицы, должны быть частью первичного ключа.
Исключение. Если разделенный пользователем NDBCLUSTER
таблица составляется, используя пустой список столбцов (то
есть, используя PARTITION BY [LINEAR] KEY()
), тогда никакой явный
первичный ключ не требуется.
Максимальное количество разделов для NDBCLUSTER
таблицы.
Максимальное количество разделов, которые могут определенный для a NDBCLUSTER
таблица, используя определяемое пользователем
разделение 8 на группу узла. (См. Раздел
17.1.2, "MySQL Cluster Nodes, Node Groups, Копии, и Разделы", для получения
дополнительной информации о группах узла MySQL Cluster.
DROP PARTITION
не поддерживаемый. Не возможно отбросить разделы
от NDB
табличное использование ALTER TABLE ...
DROP PARTITION
. Другие расширения разделения ALTER TABLE
—ADD PARTITION
, REORGANIZE PARTITION
, и COALESCE
PARTITION
— поддерживаются для таблиц Кластера, но копирования использования и не
оптимизированы - также. См. Раздел
18.3.1, "Управление RANGE
и LIST
Разделы" и Раздел 13.1.7,"ALTER TABLE
Синтаксис".
Построчная репликация. При
использовании построчной репликации с MySQL Cluster не может быть отключено двоичное журналирование.
Таким образом, NDB
механизм хранения игнорирует значение sql_log_bin
. (Ошибка #16680)