Nutzung
view: my_view {
derived_table: {
sortkeys: ["date"]
...
}
}
|
Hierarchie
sortkeys– oder – sortkeys |
Standardwert
Keine
Akzeptiert
Die Namen einer oder mehrerer Spalten in einer PDT oder einer aggregierten Tabelle
Besondere Regeln
sortkeys wird nur für bestimmte Dialekte unterstützt.
|
Definition
Mit dem Parameter sortkeys können Sie eine oder mehrere Spalten einer persistent derived table (PDT) oder einer aggregierten Tabelle angeben, auf die ein regulärer Sortierschlüssel angewendet werden soll. Mit einem Sortierschlüssel können Sie die Spalten eines PDT angeben, nach denen am häufigsten sortiert wird, um die Abfrage der Daten zu beschleunigen.
Eine Liste der Dialekte, die
sortkeysunterstützen, finden Sie im Abschnitt Dialektunterstützung fürsortkeys.
Sie können auch einen verschachtelten Sortierschlüssel mit indexes erstellen. Sie können nicht beide gleichzeitig verwenden, aber mindestens eine ist erforderlich.
Der Parameter
sortkeysfunktioniert nur mit persistenten Tabellen wie PDTs und aggregierten Tabellen.sortkeyswird für abgeleitete Tabellen ohne Persistenzstrategie nicht unterstützt.Außerdem wird der Parameter
sortkeysnicht für abgeleitete Tabellen unterstützt, die mitcreate_processodersql_createdefiniert werden.
Im Allgemeinen sollte ein Sortierschlüssel auf Datums- oder Zeitspalten in der Tabelle und möglicherweise auf Spalten angewendet werden, die häufig als Filter verwendet werden. Weitere Informationen finden Sie in der Amazon Redshift-Dokumentation.
Beispiele
In diesen Beispielen wird davon ausgegangen, dass Sie mit einer Redshift-Datenbank arbeiten, damit Sie den Parameter sortkeys verwenden können.
Erstellen Sie eine customer_day_facts persistente native abgeleitete Tabelle mit einem Sortierschlüssel für date, die neu erstellt wird, wenn die Datengruppe order_datagroup ausgelöst wird:
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"]
}
}
Erstellen Sie eine customer_day_facts-abgeleitete Tabelle, die auf einer SQL-Abfrage basiert und einen Sortierschlüssel für date hat:
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"]
}
}
Erstellen Sie eine abgeleitete Tabelle vom Typ customer_day_facts, die auf einer SQL-Abfrage mit einem Sortierschlüssel für date und customer_id basiert:
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"]
}
}
Dialektunterstützung für sortkeys
Die Möglichkeit, sortkeys zu verwenden, hängt vom Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der aktuellen Version von Looker wird sortkeys von den folgenden Dialekten unterstützt:
Bei herkömmlichen SQL-Dialekten wie MySQL und Postgres sollte
indexesverwendet werden.sortkeysfunktioniert nicht mit diesen Datenbanken.
| Dialekt | Unterstützt? |
|---|---|
| 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 |