Utilisation
view: my_view {
derived_table: {
sortkeys: ["date"]
...
}
}
|
Hiérarchie
sortkeys- ou - sortkeys |
Valeur par défaut
Aucun
Acceptation
Noms d'une ou plusieurs colonnes d'une PDT ou d'une table agrégée
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'une table agrégée sur lesquelles appliquer une clé de tri régulière. Utilisez une clé de tri pour spécifier les colonnes d'une 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 Dialectes compatibles avecsortkeys.
Vous pouvez également créer une clé de tri entrelacée à l'aide de indexes. Vous ne pouvez pas utiliser les deux en même temps, mais au moins l'un d'eux est obligatoire.
Le paramètre
sortkeysne fonctionne qu'avec les tables persistantes, telles que les PDT et les tables agrégées.sortkeysn'est pas compatible avec les tables dérivées sans stratégie de persistance.De plus, le paramètre
sortkeysn'est pas compatible avec les tables dérivées définies à l'aide decreate_processousql_create.
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 partent du principe que vous travaillez avec 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 avec une clé de tri sur date et qui se reconstruit 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"]
}
}
Prise en charge des dialectes pour 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 (comme MySQL et Postgres) doivent utiliser
indexes.sortkeysne 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+ | |
| 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 |