CREATE AGGREGATING INDEX
TiDB Cloud Lake で新しい集計インデックスを作成します。
構文
CREATE [ OR REPLACE ] AGGREGATING INDEX <index_name> AS SELECT ...
集計インデックスを作成する際は、その用途を標準的な 集計関数 を使用するクエリ(例: AVG、SUM、MIN、MAX、および COUNT。必要に応じて GROUP BY を含む)に限定してください。GROUPING SETS、ウィンドウ関数、LIMIT、および ORDER BY は受け付けられず、使用すると次のエラーが返されます:
Currently create aggregating index just support simple query, like: SELECT ... FROM ... WHERE ... GROUP BY ....集計インデックスの作成時に定義するクエリのフィルタ範囲は、実際のクエリの範囲と一致するか、それを包含している必要があります。
集計インデックスがクエリに対して有効に機能しているかを確認するには、EXPLAIN コマンドを使用してクエリを分析します。
例
この例では、クエリ "SELECT MIN(a), MAX(c) FROM agg" に対して、my_agg_index という名前の集計インデックスを作成します。
-- Prepare data
CREATE TABLE agg(a int, b int, c int);
INSERT INTO agg VALUES (1,1,4), (1,2,1), (1,2,4), (2,2,5);
-- Create an aggregating index
CREATE AGGREGATING INDEX my_agg_index AS SELECT MIN(a), MAX(c) FROM agg;