sortkeys

Utilizzo

view: my_view {
  derived_table: {
    sortkeys: ["date"]
    ...
  }
}
Gerarchia
sortkeys

- o -

sortkeys
Valore predefinito
Nessuno

Accetta
I nomi di una o più colonne in una PDT o in una tabella aggregata

Regole speciali
sortkeys è supportato solo in dialetti specifici

Definizione

Il parametro sortkeys consente di specificare una o più colonne di una tabella derivata persistente (PDT) o di una tabella aggregata a cui applicare una chiave di ordinamento regolare. Utilizza una chiave di ordinamento per specificare le colonne di una PDT che verranno ordinate più frequentemente per velocizzare l'esecuzione di query sui dati.

Consulta la sezione Supporto dei dialetti per sortkeys per l'elenco dei dialetti che supportano sortkeys.

Puoi anche creare una chiave di ordinamento interleaved utilizzando indexes. Non puoi utilizzarli entrambi contemporaneamente, ma almeno uno è obbligatorio.

Il parametro sortkeys funziona solo con le tabelle persistenti, come le PDT e le tabelle aggregate. sortkeys non è supportato per le tabelle derivate senza una strategia di persistenza.

Inoltre, il parametro sortkeys non è supportato per le tabelle derivate definite utilizzando create_process o sql_create.

In generale, una chiave di ordinamento deve essere applicata alle colonne di data o ora della tabella ed eventualmente alle colonne che verranno utilizzate di frequente come filtri. Per saperne di più, consulta la documentazione di Amazon Redshift.

Esempi

Questi esempi presuppongono che tu stia lavorando con un database Redshift per poter utilizzare il parametro sortkeys.

Crea una customer_day_factstabella derivata nativa persistentecustomer_day_facts con una chiave di ordinamento su date e ricompila quando viene attivato il 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"]
  }
}

Crea una tabella derivata customer_day_facts basata su una query SQL e con una chiave di ordinamento su 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 tabella derivata customer_day_facts basata su una query SQL con una chiave di ordinamento su date e 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"]
  }
}

Supporto dei dialetti per sortkeys

La possibilità di utilizzare sortkeys dipende dal dialetto del database utilizzato dalla connessione Looker. Nell'ultima release di Looker, i seguenti dialetti supportano sortkeys:

I dialetti SQL tradizionali (come MySQL e Postgres) devono utilizzare indexes; sortkeys non funzionerà con questi database.

Dialetto Supportata?
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