sortkeys

Utilisation

view: my_view {
  derived_table: {
    sortkeys: ["date"]
    ...
  }
}
Hiérarchie
sortkeys

- ou -

sortkeys
Valeur par défaut
Aucun

Acceptation
Noms d'une ou de plusieurs colonnes dans une table PDT ou un tableau cumulé

Règles spéciales
sortkeys n'est compatible qu'avec certains dialectes

Définition

Le paramètre sortkeys vous permet de spécifier une ou plusieurs colonnes d'une table dérivée persistante (PDT) ou d'un tableau cumulé sur lesquelles appliquer une clé de tri régulière. Utilisez une clé de tri pour spécifier les colonnes d'une table PDT qui seront le plus souvent triées afin d'accélérer l'interrogation des données.

Pour obtenir la liste des dialectes compatibles avec sortkeys, consultez la section Compatibilité des dialectes avec sortkeys.

Vous pouvez également créer une clé de tri entrelacée à l'aide de indexes à la place. Vous ne pouvez pas utiliser les deux en même temps, mais au moins l'un d'eux est requis.

Le paramètre sortkeys ne fonctionne qu'avec les tables persistantes, telles que les tables PDT et agrégées. sortkeys n'est pas compatible avec les tables dérivées sans stratégie de persistance.

De plus, le param0/} paramètre n'est pas compatible avec les tables dérivées définies à l'aide de create_process ou sql_create.sortkeys

En règle générale, une clé de tri doit être appliquée aux colonnes de date ou d'heure de la table, et éventuellement aux colonnes qui seront fréquemment utilisées comme filtres. Pour en savoir plus, consultez la documentation Amazon Redshift.

Exemples

Ces exemples supposent que vous utilisez une base de données Redshift afin de pouvoir utiliser le paramètre sortkeys.

Créez une customer_day_facts table dérivée native persistante qui comporte une clé de tri sur date et qui est reconstruite lorsque le groupe de données order_datagroup est déclenché :

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"]
  }
}

Créez une table dérivée customer_day_facts basée sur une requête SQL et comportant une clé de tri sur 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"]
  }
}

Créez une table dérivée customer_day_facts basée sur une requête SQL avec une clé de tri sur date et 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"]
  }
}

Compatibilité des dialectes avec sortkeys

La possibilité d'utiliser sortkeys dépend du dialecte de base de données de votre connexion Looker. Dans la dernière version de Looker, les dialectes suivants sont compatibles avec sortkeys :

Les dialectes SQL traditionnels (tels que MySQL et Postgres) doivent utiliser indexes ; sortkeys ne fonctionnera pas avec ces bases de données.

Dialecte Compatibilité
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
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 AlloyDB for PostgreSQL
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
MongoSQL
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