用量
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
上具有排序键,并在触发数据组 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
上具有排序键的 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
上使用排序键:
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
不适用于这些数据库。