メインコンテンツまでスキップ
バージョン: 4.x

ALTER TABLE ROLLUP

デスクリプション

このステートメントは、既存のTableに対してrollup変更操作を実行するために使用されます。rollupは非同期操作であり、タスクが正常に送信されるとタスクが返されます。その後、SHOW ALTERコマンドを使用して進行状況を確認できます。

文法:

ALTER TABLE [database.]table alter_clause;

rollupのalter_clauseは以下の作成方法をサポートしています

  1. rollupインデックスの作成

文法:

ADD ROLLUP rollup_name (column_name1, column_name2, ...)
[FROM from_index_name]
[PROPERTIES ("key"="value", ...)]

properties: タイムアウト時間の設定をサポートします。デフォルトのタイムアウト時間は1日です。

  1. rollupインデックスをバッチで作成

grammar:

ADD ROLLUP [rollup_name (column_name1, column_name2, ...)
[FROM from_index_name]
[PROPERTIES ("key"="value", ...)],...]

注意:

  • from_index_nameが指定されていない場合、デフォルトでベースインデックスから作成されます
  • rollupTableの列は、from_indexに既に存在する列である必要があります
  • propertiesでは、ストレージ形式を指定できます。詳細については、CREATE TABLEを参照してください
  1. rollupインデックスの削除

文法:

DROP ROLLUP rollup_name [PROPERTIES ("key"="value", ...)]
  1. rollup indexのバッチ削除

文法:

DROP ROLLUP [rollup_name [PROPERTIES ("key"="value", ...)],...]

注意:

  • ベースインデックスは削除できません

Example

  1. インデックスを作成: example_rollup_index、ベースインデックス(k1,k2,k3,v1,v2)に基づく。列指向ストレージ。
ALTER TABLE example_db.my_table
ADD ROLLUP example_rollup_index(k1, k3, v1, v2);
  1. インデックスを作成: example_rollup_index2、example_rollup_index (k1,k3,v1,v2) をベースとする
ALTER TABLE example_db.my_table
ADD ROLLUP example_rollup_index2 (k1, v1)
FROM example_rollup_index;
  1. インデックスを作成する:example_rollup_index3、ベースインデックス(k1,k2,k3,v1)に基づき、カスタムrollupタイムアウトを1時間に設定。
ALTER TABLE example_db.my_table
ADD ROLLUP example_rollup_index(k1, k3, v1)
PROPERTIES("timeout" = "3600");
  1. インデックスを削除する: example_rollup_index2
ALTER TABLE example_db.my_table
DROP ROLLUP example_rollup_index2;
  1. Batch Delete rollup index
ALTER TABLE example_db.my_table
DROP ROLLUP example_rollup_index2,example_rollup_index3;

  1. キーワード
ALTER, TABLE, ROLLUP, ALTER TABLE

ベストプラクティス