21.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) при настройке репликации кластера. Для получения дополнительной информации см. Раздел 21.7, «Репликация NDB Cluster».Репликация с использованием глобальных идентификаторов транзакций (GTID) несовместима с NDB Cluster и не поддерживается в NDB Cluster 7.5 или NDB Cluster 7.6. Не активируйте GTID при использовании движка хранения
NDB, так как это, скорее всего, приведет к проблемам, вплоть до отказа репликации NDB Cluster.Полусинхронная репликация в NDB Cluster не поддерживается.
При репликации между кластерами можно использовать адреса IPv6 между узлами SQL в разных кластерах, но все соединения внутри данного кластера должны использовать адресацию IPv4. Дополнительная информация приведена в Репликация NDB Cluster и IPv6.
-
Сгенерированные столбцы. Движок хранения
NDBне поддерживает индексы по виртуальным сгенерированным столбцам.Как и в других движках хранения, вы можете создать индекс по сохраненному сгенерированному столбцу, но следует учитывать, что
NDBиспользуетDataMemoryдля хранения сгенерированного столбца, а такжеIndexMemoryдля индекса. Пример см. в JSON-столбцы и косвенный индексирование в NDB Cluster.NDB Cluster записывает изменения в сохраненных сгенерированных столбцах в двоичный журнал, но не те, которые внесены в виртуальные столбцы. Это не должно влиять на репликацию NDB Cluster или репликацию между
NDBи другими движками хранения MySQL.
Для получения дополнительной информации о ограничениях обработки транзакций в NDB см. Раздел 21.2.7.3, «Ограничения, относящиеся к обработке транзакций в NDB Cluster».
© 2025 Oracle
Licensed under the GPLv2 License.