sortkeys

Uso

view: my_view {
  derived_table: {
    sortkeys: ["date"]
    ...
  }
}
Jerarquía
sortkeys

O bien:

sortkeys
Valor predeterminado
Ninguno

Acepta
Nombres de una o más columnas en una PDT o una tabla agregada

Reglas especiales
sortkeys solo se admite en dialectos específicos

Definición

El parámetro sortkeys te permite especificar una o más columnas de una tabla derivada persistente (PDT) o una tabla agregada en las que se aplicará una clave de ordenamiento regular. Usa una clave de ordenamiento para especificar las columnas de un PDT que se ordenarán con mayor frecuencia para acelerar la consulta de los datos.

Consulta la sección Compatibilidad de dialectos con sortkeys para ver la lista de dialectos que admiten sortkeys.

También puedes crear una clave de ordenamiento intercalada con indexes. No puedes usar ambos al mismo tiempo, pero se requiere al menos uno.

El parámetro sortkeys solo funciona con tablas persistentes, como las PDT y las tablas agregadas. sortkeys no se admite para las tablas derivadas sin una estrategia de persistencia.

Además, el parámetro sortkeys no se admite para las tablas derivadas que se definen con create_process o sql_create.

En general, se debe aplicar una clave de ordenamiento a las columnas de fecha o de hora de la tabla y, posiblemente, a las columnas que se usarán con frecuencia como filtros. Encontrarás más información en la documentación de Amazon Redshift.

Ejemplos

En estos ejemplos, se supone que trabajas con una base de datos de Redshift para que puedas usar el parámetro sortkeys.

Crea una customer_day_facts persistente tabla derivada nativa que tenga una clave de ordenamiento en date y se vuelva a compilar cuando se active el grupo de datos 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"]
  }
}

Crea una tabla derivada customer_day_facts basada en una consulta en SQL y que tenga una clave de ordenamiento en 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"
    sortkeys: ["date"]
  }
}

Crea una tabla derivada customer_day_facts basada en una consulta en SQL con una clave de ordenamiento en date y 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"]
  }
}

Compatibilidad con dialectos para sortkeys

La capacidad de usar sortkeys depende del dialecto de la base de datos que usa tu conexión de Looker. En la versión más reciente de Looker, los siguientes dialectos admiten sortkeys:

Los dialectos de SQL tradicionales (como MySQL y Postgres) deben usar indexes; sortkeys no funcionará con estas bases de datos.

Dialecto ¿Es compatible?
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