Nutzung
view: my_view {
derived_table: {
sortkeys: ["date"]
...
}
}
|
Hierarchie
sortkeys- oder - sortkeys |
Standardwert
Keine
Akzeptiert
Die Namen von einer oder mehreren Spalten in einer PDT oder einer aggregierten Tabelle
Sonderregeln
sortkeys wird nur für bestimmte Dialekte unterstützt
|
Definition
Mit dem sortkeys Parameter können Sie eine oder mehrere Spalten einer persistenten abgeleiteten Tabelle (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 einer PDT angeben, nach denen am häufigsten sortiert wird, um Abfragen 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. Beide können nicht gleichzeitig verwendet werden, aber mindestens einer ist erforderlich.
Der
sortkeysParameter funktioniert nur mit persistenten Tabellen wie PDTs und aggregierten Tabellen.sortkeyswird für abgeleitete Tabellen ohne Persistenzstrategie nicht unterstützt.Außerdem wird der
sortkeysParameter für abgeleitete Tabellen, die mitcreate_processodersql_createdefiniert wurden, nicht unterstützt.
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 abgeleitete Tabelle customer_day_facts, 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 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 von dem Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. In der neuesten Version von Looker unterstützen die folgenden Dialekte sortkeys:
Für herkömmliche SQL-Dialekte wie MySQL und Postgres sollten Sie
indexesverwenden.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.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 |