Nutzung
derived_table: {
Sortierschlüssel: ["date"]
...
}
}
Hierarchie
sortkeys – oder – sortkeys |
Standardwert
KeineAkzeptiert
Die Namen einer oder mehrerer Spalten in einer PDT oder einer zusammengefassten TabelleSonderregeln
sortkeys wird nur für bestimmte Dialekte unterstützt
|
Definition
Mit dem Parameter sortkeys
können Sie eine oder mehrere Spalten einer persistenten abgeleiteten Tabelle (PDT) oder einer zusammengefasste Tabelle angeben, auf die ein regulärer Sortierschlüssel angewendet werden soll. Verwenden Sie einen Sortierschlüssel, um die Spalten einer PDT anzugeben, nach denen am häufigsten sortiert wird, um die Abfrage der Daten zu beschleunigen.
Eine Liste der Dialekte, die
sortkeys
unterstützen, finden Sie weiter unten im Abschnitt Dialektunterstützung fürsortkeys
.
Sie können stattdessen auch indexes
verwenden, um einen verschränkten Sortierschlüssel zu erstellen. Sie können nicht beides gleichzeitig verwenden, aber es ist mindestens eines erforderlich.
Der Parameter
sortkeys
funktioniert nur bei Tabellen, die persistent sind, z. B. PDTs und zusammengefasste 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 mitcreate_process
odersql_create
definiert sind.
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, sodass Sie den Parameter sortkeys
verwenden können.
Erstellen Sie eine customer_day_facts
persistente native abgeleitete Tabelle mit einem Sortierschlüssel auf date
und wird neu erstellt, 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 customer_day_facts
-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 customer_day_facts
-Tabelle, die auf einer SQL-Abfrage mit einem Sortierschlüssel auf 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 neuesten Version von Looker unterstützen die folgenden Dialekte sortkeys
:
Herkömmliche SQL-Dialekte wie MySQL und Postgres sollten
indexes
verwenden;sortkeys
funktioniert mit diesen Datenbanken nicht.