コンテンツにスキップ

Log テーブルのインデックス

Machbase の Log テーブルでは、3 種類のインデックスタイプキーワードを使用できます。

詳細は、SQL リファレンスの DDL ページにある CREATE INDEX を参照してください。

  • LSM インデックス:範囲条件と等価条件に使用します。
  • BITMAP インデックス:LOG テーブルの列に作成でき、DESC では LSM と表示されます。
  • KEYWORD インデックス:文字列検索に使用します。Varchar 列と Text 列にのみ作成できます。

インデックスの作成

CREATE INDEX 文で指定した列にインデックスを作成します。

CREATE INDEX index_name ON table_name (column_name) [index_type] [tablespace] [index_prop_list]
    index_type ::= INDEX_TYPE { LSM | BITMAP | KEYWORD }
    tablespace ::= TABLESPACE tablespace_name
    index_prop_list ::= value_pair, value_pair, ...
    value_pair ::= property_name = property_value
Mach> CREATE INDEX id_index ON log_data(id) INDEX_TYPE LSM MAX_LEVEL=3;
Created successfully.

インデックスのプロパティ

インデックスの作成時にプロパティを指定します。

CREATE BITMAP INDEX value_bitmap_idx ON log_data(value) KEY_COMPRESS=1;
Mach> CREATE BITMAP INDEX value_bitmap_idx ON log_data(value) KEY_COMPRESS=1;
Created successfully.

インデックスの削除

DROP INDEX 文で指定したインデックスを削除します。ただし、他のセッションがそのテーブルを検索している場合はエラーになります。

DROP INDEX index_name;
Mach> DROP INDEX id_index;
Dropped successfully.
最終更新日