すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase (Deprecated):CREATE INDEX

最終更新日:Jan 19, 2025

このトピックでは、MySQL データベースから OceanBase Database の MySQL テナントへのデータ移行中に、CREATE INDEX DDL 操作でサポートされる変換範囲について説明します。

構文

CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (key_part,...)
    [index_option]
    [algorithm_option | lock_option] ...

key_part: {col_name [(length)] | (expr)} [ASC | DESC]

index_option: {
    KEY_BLOCK_SIZE [=] value
  | index_type
  | WITH PARSER parser_name
  | COMMENT 'string'
  | {VISIBLE | INVISIBLE}
  | ENGINE_ATTRIBUTE [=] 'string'
  | SECONDARY_ENGINE_ATTRIBUTE [=] 'string'
}

index_type:
    USING {BTREE | HASH}

algorithm_option:
    ALGORITHM [=] {DEFAULT | INPLACE | COPY}

lock_option:
    LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}

サポートされる操作

  • 標準インデックスを作成する。

  • 一意なインデックスを作成する。

  • SPATIAL インデックスを作成する。

    重要

    この DDL 操作は、OceanBase Database V3.2.4 および V4.1.0 のみでサポートされています。

  • プレフィックス付きインデックスを作成する。

    CREATE INDEX i ON t(c1(2));
  • index_option で COMMENT のみ指定する。

サポートされない操作

重要

同期される DDL 文に以下のサポートされていない定義が含まれている場合、変換は失敗し、出力は空の文字列になります。

関数ベースのインデックスを作成する。

無視される句とオプション

重要

同期される DDL 文で以下の句とオプションが指定されている場合、これらは無視され、解決または変換されません。

  • ASC | DESC

  • KEY_BLOCK_SIZE

  • WITH PARSER

  • VISIBLE | INVISIBLE

  • ENGINE_ATTRIBUTE

  • SECONDARY_ENGINE_ATTRIBUTE

  • ALGORITHM = DEFAULT | INPLACE | COPY

  • LOCK = DEFAULT | NONE | SHARED | EXCLUSIVE

制限事項

重要

MySQL テナントの OceanBase Database の制限により、同期された DDL 文が変換され、以下のシナリオで MySQL テナントの OceanBase Database で実行されると、エラーが返される場合があります。

MySQL テナントの OceanBase Database は、特定の種類のフィールドへのインデックスの作成をサポートしていません。詳細については、「MySQL データベースと MySQL テナントの OceanBase Database 間の DDL の非互換性」をご参照ください。