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 8.4. Не активируйте 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.