25.2.7.6 Неподдерживаемые или отсутствующие функции в NDB Cluster
Несколько функций, поддерживаемых другими движками хранения, не поддерживаются для таблиц NDB. Попытка использовать любую из этих функций в NDB Cluster сама по себе не вызывает ошибок; однако, ошибки могут возникнуть в приложениях, которые ожидают поддержки или применения этих функций. Утверждения, ссылающиеся на такие функции, даже если они фактически игнорируются NDB, должны быть синтаксически и иначе корректными.
-
Префиксы индексов. Префиксы индексов не поддерживаются для таблиц
NDB. Если префикс используется в качестве части спецификации индекса в таком операторе, какCREATE TABLE,ALTER TABLEилиCREATE INDEX, префикс не создаетсяNDB.Оператор, содержащий префикс индекса и создающий или изменяющий таблицу
NDB, должен оставаться синтаксически корректным. Например, следующий оператор всегда завершается ошибкой 1089 Неправильный префикс ключа; использованная часть ключа не является строкой, использованная длина больше части ключа или движок хранения не поддерживает уникальные префиксы ключей, независимо от движка хранения:CREATE TABLEt1 ( c1 INT NOT NULL, c2 VARCHAR(100), INDEX i1 (c2(500)) );Это происходит из-за правила синтаксиса SQL, согласно которому индекс не может иметь префикс, больший, чем сам индекс.
Сохраняемые точки и откаты. Сохраняемые точки и откаты к сохраняемым точкам игнорируются, как и в
MyISAM.Долговечность подтверждений. На диске нет долговечных подтверждений. Подтверждения реплицируются, но нет гарантии, что журналы будут записаны на диск при подтверждении.
-
Репликация. Репликация на основе операторов не поддерживается. Используйте
--binlog-format=ROW(или--binlog-format=MIXED) при настройке репликации кластера. Дополнительную информацию см. в Разделе 25.7, «Репликация NDB Cluster».Репликация с использованием глобальных идентификаторов транзакций (GTID) несовместима с NDB Cluster и не поддерживается в NDB Cluster 9.2. Не активируйте GTID при использовании движка хранения
NDB, так как это, скорее всего, приведет к проблемам, вплоть до сбоя репликации NDB Cluster.Полусинхронная репликация не поддерживается в NDB Cluster.
-
Сгенерированные столбцы. Движок хранения
NDBне поддерживает индексы по виртуальным сгенерированным столбцам.Как и в других движках хранения, вы можете создать индекс по хранимому сгенерированному столбцу, но помните, что
NDBиспользуетDataMemoryдля хранения сгенерированного столбца иIndexMemoryдля индекса. Пример см. в Столбцы JSON и непрямые индексы в NDB Cluster.NDB Cluster записывает изменения в хранимых сгенерированных столбцах в двоичный журнал, но не те, которые были внесены в виртуальные столбцы. Это не должно повлиять на репликацию NDB Cluster или репликацию между
NDBи другими движками хранения MySQL.
Дополнительную информацию о ограничениях обработки транзакций в NDB см. в Разделе 25.2.7.3, «Ограничения, связанные с обработкой транзакций в NDB Cluster».
© 2025 Oracle
Licensed under the GPLv2 License.