indexes

Nutzung

view: my_view {
derived_table: {
Indexe: ["order_id"]
...
}
}
Hierarchie
indexes

– oder –

indexes
Standardwert
Keine

Akzeptiert
Die Namen einer oder mehrerer Spalten in einer PDT oder einer zusammengefassten Tabelle

Sonderregeln
indexes wird nur für bestimmte Dialekte unterstützt

Definition

Mit dem Parameter indexes können Sie Indexe auf die Spalten einer persistenten abgeleiteten Tabelle (PDT) oder einer zusammengefasste Tabelle anwenden. Wenn Sie mehr als eine Spalte hinzufügen, erstellt Looker für jede von Ihnen angegebene Spalte einen Index. Es wird kein einzelner Index mit mehreren Spalten erstellt. Wenn der Parameter indexes in der Abfrage fehlt, werden Sie von Looker gewarnt, um einen indexes-Parameter hinzuzufügen, um die Abfrageleistung zu verbessern. Weitere Informationen zum Indexieren persistenter abgeleiteter Tabellen finden Sie auf der Dokumentationsseite Abgeleitete Tabellen in Looker.

Eine Liste der Dialekte, die indexes unterstützen, finden Sie im Abschnitt Dialektunterstützung für indexes.

Der Parameter indexes funktioniert nur bei Tabellen, die persistent sind, z. B. PDTs und zusammengefasste Tabellen. indexes wird für abgeleitete Tabellen ohne Persistenzstrategie nicht unterstützt.

Außerdem wird der Parameter indexes nicht für abgeleitete Tabellen unterstützt, die mit create_process oder sql_create definiert sind.

Wenn Sie indexes mit Redshift verwenden, erstellen Sie einen verschränkten Sortierschlüssel. Sie können auch reguläre Sortierschlüssel mit sortkeys erstellen, aber nicht beides gleichzeitig. Verteilungsschlüssel können mit distribution erstellt werden.

Im Allgemeinen sollten Indexe auf Primärschlüssel und Datums- oder Zeitspalten angewendet werden.

Beispiele

Erstellen Sie für eine herkömmliche Datenbank (z. B. MySQL oder Postgres) eine persistente customer_order_facts-Tabelle. Das PDT sollte neu erstellt werden, wenn die Datengruppe order_datagroup ausgelöst wird und einen Index für customer_id hat:

view: customer_order_facts {
  derived_table: {
    explore_source: order {
      column: customer_id { field: order.customer_id }
      column: lifetime_orders { field: order.lifetime_orders }
    }
    datagroup_trigger: order_datagroup
    indexes: ["customer_id"]
  }
}

Erstellen Sie für eine herkömmliche Datenbank eine persistente customer_order_facts-Tabelle, die auf einer SQL-Abfrage basiert und einen Index auf customer_id anwendet:

view: customer_order_facts {
  derived_table: {
    sql:
      SELECT
        customer_id,
        COUNT(*) AS lifetime_orders
      FROM
        order
      GROUP BY
        customer_id ;;
    persist_for: "24 hours"
    indexes: ["customer_id"]
  }
}

Erstellen Sie bei einer herkömmlichen Datenbank eine customer_day_facts-abgeleitete Tabelle mit Indexen für customer_id und 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"
    indexes: ["customer_id", "date"]
  }
}

Erstellen Sie für eine Redshift-Datenbank eine abgeleitete customer_day_facts-Tabelle mit einem verschränkten Sortierschlüssel, der aus customer_id und date erstellt wurde:

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"
    indexes: ["customer_id", "date"]
  }
}

Dialektunterstützung für indexes

Die Möglichkeit, indexes zu verwenden, hängt vom Datenbankdialekt ab, den Ihre Looker-Verbindung verwendet. Wenn Sie mit einer anderen Datenbank als einer herkömmlichen Datenbank arbeiten (z. B. MySQL oder Postgres), unterstützt Ihre Datenbank den Parameter indexes möglicherweise nicht. Looker warnt Sie, wenn dies der Fall ist. Sie können den Parameter indexes durch einen Parameter ersetzen, der für Ihre Datenbankverbindung geeignet ist. Weitere Informationen zu solchen Parametern finden Sie auf der Dokumentationsseite Parameter ansehen.

In der neuesten Version von Looker unterstützen die folgenden Dialekte indexes: