全部產品
Search
文件中心

ApsaraDB for OceanBase:普通表索引

更新時間:Jul 01, 2024

本文為您介紹遷移 Oracle 資料庫的資料至 OceanBase 資料庫 Oracle 租戶時,CREATE INDEX DDL 普通表索引的支援轉換範圍。

總覽

table_index_clause:
[ schema. ] table [ t_alias ]
(index_expr [ ASC | DESC ]
  [, index_expr [ ASC | DESC ] ]...)
  [ index_properties ]

index_properties:
[ { { global_partitioned_index
    | local_partitioned_index
    }
  | index_attributes
  }...
| INDEXTYPE IS { domain_index_clause
               | XMLIndex_clause
               }
]

global_partitioned_index:
GLOBAL PARTITION BY
   { RANGE (column_list)
        (index_partitioning_clause)
   | HASH (column_list)
        { individual_hash_partitions
        | hash_partitions_by_quantity
        }
   }


local_partitioned_index:
LOCAL
[ on_range_partitioned_table
| on_list_partitioned_table
| on_hash_partitioned_table
| on_comp_partitioned_table
]

index_attributes:
[ { physical_attributes_clause
  | logging_clause
  | ONLINE
  | TABLESPACE { tablespace | DEFAULT }
  | index_compression
  | { SORT | NOSORT }
  | REVERSE
  | VISIBLE | INVISIBLE
  | partial_index_clause
  | parallel_clause
  }...
]

domain_index_clause:
indextype
   [ local_domain_index_clause ]
   [ parallel_clause ]
   [ PARAMETERS ('ODCI_parameters') ]

XMLIndex_clause:
[XDB.] XMLINDEX [ local_XMLIndex_clause ]
                [ parallel_clause ]
  [ XMLIndex_parameters_clause ]

支援的範圍

  • 支援 ASC | DESC 屬性指定升序降序。樣本如下:

    CREATE INDEX IDX ON T(C ASC);
    CREATE UNIQUE INDEX IDX ON T(C DESC);
  • 支援複合式索引。

  • 支援函數索引。樣本如下:

    CREATE INDEX IDX ON T(SUBSTR(C,1,4));
  • index_attributes 支援反向索引 REVERSE 屬性。樣本如下:

    CREATE INDEX IDX ON T(C) REVERSE;
  • 支援 global_partitioned_index 子句定義 global 索引分割區。global_partitioned_index 的文法如下:

    table_index_clause:
    [ schema. ] table [ t_alias ]
    (index_expr [ ASC | DESC ]
      [, index_expr [ ASC | DESC ] ]...)
      [ index_properties ]
    
    index_properties:
    [ { { global_partitioned_index
        | local_partitioned_index
        }
      | index_attributes
      }...
    | INDEXTYPE IS { domain_index_clause
                   | XMLIndex_clause
                   }
    ]
    
    global_partitioned_index:
    GLOBAL PARTITION BY
       { RANGE (column_list)
            (index_partitioning_clause)
       | HASH (column_list)
            { individual_hash_partitions
            | hash_partitions_by_quantity
            }
       }
    
    
    local_partitioned_index:
    LOCAL
    [ on_range_partitioned_table
    | on_list_partitioned_table
    | on_hash_partitioned_table
    | on_comp_partitioned_table
    ]
    
    index_attributes:
    [ { physical_attributes_clause
      | logging_clause
      | ONLINE
      | TABLESPACE { tablespace | DEFAULT }
      | index_compression
      | { SORT | NOSORT }
      | REVERSE
      | VISIBLE | INVISIBLE
      | partial_index_clause
      | parallel_clause
      }...
    ]
    
    domain_index_clause:
    indextype
       [ local_domain_index_clause ]
       [ parallel_clause ]
       [ PARAMETERS ('ODCI_parameters') ]
    
    XMLIndex_clause:
    [XDB.] XMLINDEX [ local_XMLIndex_clause ]
                    [ parallel_clause ]
      [ XMLIndex_parameters_clause ]
    • 支援 GLOBAL PARTITION BY RANGE(column_name_list) 建立 GLOBAL RANGE 索引分割區。

    • 支援 GLOBAL PARTITION BY HASH(column_name_list) 建立 GLOBAL HASH 索引分割區。

    • 支援 index_partitioning_clause 子句定義 range 分區。

    • 支援 individual_hash_partitions 子句定義 hash 分區,詳情請參見 自訂 hash 一級分區

    • 支援 hash_partitions_by_quantity 子句定義 hash 分區,詳情請參見 指定 hash 一級分區數量

不支援的範圍

  • 不支援 domain_index_clause 子句定義 domain index,會報錯。

  • 不支援 XMLIndex_clause 定義 xml index 的子句,會報錯。

忽略的屬性

說明

如果同步的 DDL 中包含以下屬性的定義,則這些屬性不會被解析和轉換,最終會被忽略。

  • global 索引分割區定義 range 分區 index_partitioning_clause 中的 segment_attributes_clause 子句指定物理屬性和資料表空間儲存,會忽略該 option。

  • local_partitioned_index 子句索引分割區定義,會忽略該 option。

  • index_attributes 目前僅支援反向索引 REVERSE,其它屬性均忽略。