用量
view: my_view {
derived_table: {
indexes: ["order_id"]
...
}
}
|
階層
indexes- 或 - indexes |
預設值
無
接受
PDT 或匯總資料表中的一或多個資料欄名稱
特別規則
indexes 僅支援特定方言
|
定義
indexes 參數可讓您將索引套用至永久衍生資料表 (PDT) 或匯總資料表的資料欄。新增多個資料欄時,Looker 會為您指定的每個資料欄建立一個索引,不會建立單一的多欄索引。如果查詢中缺少 indexes 參數,Looker 會顯示警告,建議您新增 indexes 參數來提升查詢效能。如要進一步瞭解如何為永久衍生資料表建立索引,請參閱「Looker 中的衍生資料表」說明文件頁面。
如需支援
indexes的方言清單,請參閱本頁面的「支援indexes的方言」一節。
indexes參數只能搭配持續性資料表使用,例如 PDT 和匯總資料表。如果衍生資料表沒有持續性策略,則不支援「indexes」。此外,使用
create_process或sql_create定義的衍生資料表不支援indexes參數。
如果您搭配 Redshift 使用 indexes,系統會建立交錯排序鍵。您也可以使用 sortkeys 建立一般排序鍵,但不能同時使用兩者。您可以使用 distribution 建立發行金鑰。
一般來說,索引應套用至主鍵和日期/時間資料欄。
範例
如果是傳統資料庫 (例如 MySQL 或 Postgres),請建立customer_order_facts持續性衍生資料表。當 order_datagroup datagroup 觸發時,PDT 應會重建,並在 customer_id 上建立索引:
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_order_facts永久衍生資料表,並在 customer_id 上套用索引:
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:
| 方言 | 是否支援? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13+ | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |