用法
view: my_view {
derived_table: {
sortkeys: ["date"]
...
}
}
|
层次结构
sortkeys- 或 - sortkeys |
默认值
无
接受
PDT 或汇总表中的一个或多个列的名称
特殊规则
sortkeys 仅在特定方言中受支持
|
定义
借助 sortkeys 参数,您可以指定一个或多个持久性派生表 (PDT) 或汇总表的列,以应用常规排序键。使用排序键指定 PDT 中最常用于排序的列,以加快数据查询速度。
如需查看支持
sortkeys的方言列表,请参阅sortkeys的方言支持部分。
您还可以使用 indexes 创建交错式排序键。您不能同时使用这两种方法,但必须至少使用一种。
sortkeys参数仅适用于永久性表,例如 PDT 和汇总表。对于没有持久性策略的派生表,不支持sortkeys。此外,对于使用
create_process或sql_create定义的派生表,不支持sortkeys参数。
一般来说,排序键应应用于表中的日期或时间列,也可能应用于经常用作过滤条件的列。如需了解详情,请参阅 Amazon Redshift 文档。
示例
这些示例假设您使用的是 Redshift 数据库,因此可以使用 sortkeys 参数。
创建一个 customer_day_facts 持久性原生派生表,该表具有基于 date 的排序键,并在触发 datagroup order_datagroup 时重建:
view: customer_day_facts {
derived_table: {
explore_source: order {
column: customer_id { field: order.customer_id }
column: date { field: order.order_date }
column: num_orders { field: order.customer_order_count }
}
datagroup_trigger: order_datagroup
sortkeys: ["date"]
}
}
创建一个基于 SQL 查询且在 date 上具有 sortkey 的 customer_day_facts 派生表:
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"
sortkeys: ["date"]
}
}
创建一个基于 SQL 查询的 customer_day_facts 派生表,该派生表在 date 和 customer_id 上具有 sortkey:
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"
sortkeys: ["date", "customer_id"]
}
}
针对 sortkeys 的方言支持
能否使用 sortkeys 取决于 Looker 连接所使用的数据库方言。在最新版 Looker 中,以下方言支持 sortkeys:
传统 SQL 方言(例如 MySQL 和 Postgres)应使用
indexes;sortkeys不适用于这些数据库。
| 方言 | 是否支持? |
|---|---|
| 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 |