sortkeys

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 sortkeys unterstützen, finden Sie im Abschnitt Dialektunterstützung für sortkeys.

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 sortkeys funktioniert nur mit persistenten Tabellen wie PDTs und aggregierten Tabellen. sortkeys wird für abgeleitete Tabellen ohne Persistenzstrategie nicht unterstützt.

Außerdem wird der Parameter sortkeys nicht für abgeleitete Tabellen unterstützt, die mit create_process oder sql_create definiert 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 indexes verwendet werden. sortkeys funktioniert 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