使用状況
derived_table: {
indexes: ["order_id"]
...
}
}
階層
indexes または indexes |
デフォルト値
なし許可
PDT または集約テーブルの 1 つ以上の列の名前特別なルール
indexes は特定の言語でのみサポートされます。 |
定義
indexes
パラメータを使用すると、永続的な派生テーブル(PDT)または集計テーブルの列にインデックスを適用できます。複数の列を追加すると、指定した列ごとに 1 つのインデックスが作成されます。1 つの複数列インデックスは作成されません。クエリに indexes
パラメータがない場合は、クエリのパフォーマンスを改善するために indexes
パラメータを追加するよう警告するメッセージが表示されます。永続的な派生テーブルのインデックス登録の詳細については、Looker の派生テーブルのドキュメントをご覧ください。
indexes
をサポートしている言語のリストについては、このページのindexes
の言語サポートをご覧ください。
indexes
パラメータは、PDT や集計テーブルなど、永続なテーブルでのみ機能します。indexes
は、永続化戦略のない派生テーブルではサポートされていません。また、
indexes
パラメータは、create_process
またはsql_create
を使用して定義された派生テーブルではサポートされていません。
Redshift で indexes
を使用する場合、インターリーブされた並べ替えキーを作成します。sortkeys
を使用して通常の並べ替えキーを作成することもできますが、両方を同時に使用することはできません。ディストリビューション キーは distribution
で作成できます。
一般に、インデックスは主キーと日付または時間の列に適用する必要があります。
例
従来のデータベース(MySQL や Postgres など)の場合は、customer_order_facts
永続的な派生テーブルを作成します。order_datagroup
データグループがトリガーされ、customer_id
にインデックスがある場合、PDT が再ビルドされます。
view: customer_order_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: lifetime_orders { field: order.lifetime_orders }
}
datagroup_trigger: order_datagroup
indexes: ["customer_id"]
}
}
従来のデータベースの場合は、SQL クエリに基づいて customer_id
にインデックスを適用する永続的な派生テーブルを customer_order_facts
に作成します。
view: customer_order_facts {
derived_table: {
sql:
SELECT
customer_id,
COUNT(*) AS lifetime_orders
FROM
order
GROUP BY
customer_id ;;
persist_for: "24 hours"
indexes: ["customer_id"]
}
}
従来のデータベースの場合は、customer_day_facts
派生テーブルを作成し、customer_id
と date
の両方のインデックスを設定します。
view: customer_day_facts {
derived_table: {
sql:
SELECT
customer_id,
DATE(order_time) AS date,
COUNT(*) AS num_orders
FROM
order
GROUP BY
customer_id ;;
persist_for: "24 hours"
indexes: ["customer_id", "date"]
}
}
Redshift データベースの場合は、customer_day_facts
派生テーブルを作成し、customer_id
と date
からビルドしたインターリーブ並べ替えキーを作成します。
view: customer_day_facts {
derived_table: {
sql:
SELECT
customer_id,
DATE(order_time) AS date,
COUNT(*) AS num_orders
FROM
order
GROUP BY
customer_id ;;
persist_for: "24 hours"
indexes: ["customer_id", "date"]
}
}
indexes
の言語サポート
indexes
を使用できるかどうかは、Looker 接続で使用されているデータベース言語によって異なります。従来のデータベース以外(MySQL や Postgres など)で作業している場合は、データベースが indexes
パラメータをサポートしていない可能性があります。この場合、Looker は警告を発します。indexes
パラメータをデータベース接続に適したものに置き換えることができます。そのようなパラメータについて詳しくは、パラメータを表示するをご覧ください。
Looker の最新リリースでは、indexes
で以下の言語がサポートされています。