aucun index

Utilisation

view: my_view {
  derived_table: {
    indexes: ["order_id"]
    ...
  }
}
Hiérarchie
indexes

- ou -

indexes
Valeur par défaut
Aucun

Acceptation
Noms d'une ou de plusieurs colonnes dans une table PDT ou un tableau cumulé

Règles spéciales
indexes n'est compatible qu'avec des dialectes spécifiques

Définition

Le paramètre indexes vous permet d'appliquer des index aux colonnes d'une table dérivée persistante (PDT) ou d'un tableau cumulé. Lorsque vous ajoutez plusieurs colonnes, Looker crée un index pour chaque colonne que vous spécifiez. Il ne crée pas un seul index à plusieurs colonnes. Si le paramètre indexes est manquant dans la requête, Looker vous invite à ajouter un paramètre indexes pour améliorer les performances de la requête. Pour en savoir plus sur l'indexation des tables dérivées persistantes, consultez la page de documentation sur les tables dérivées dans Looker.

Consultez la section Compatibilité des dialectes pour indexes sur cette page pour obtenir la liste des dialectes compatibles avec indexes.

Le paramètre indexes ne fonctionne qu'avec les tables persistantes, telles que les tables PDT et les tables agrégées. indexes n'est pas compatible avec les tables dérivées sans stratégie de persistance.

De plus, le paramètre indexes n'est pas compatible avec les tables dérivées définies à l'aide de create_process ou sql_create.

Si vous utilisez indexes avec Redshift, vous créez une clé de tri entrelacée. Vous pouvez également créer des clés de tri régulières à l'aide de sortkeys, mais vous ne pouvez pas utiliser les deux en même temps. Les clés de distribution peuvent être créées avec distribution.

En règle générale, les index doivent être appliqués aux clés primaires et aux colonnes de date ou d'heure.

Exemples

Pour une base de données traditionnelle (par exemple, MySQL ou Postgres), créez une table dérivée persistante customer_order_facts. La table PDT doit être reconstruite lorsque le order_datagroup groupe de données est déclenché et comporte un index sur customer_id :

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"]
  }
}

Pour une base de données traditionnelle, créez une table dérivée persistante customer_order_facts basée sur une requête SQL et appliquez un index sur customer_id :

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"]
  }
}

Pour une base de données traditionnelle, créez une table dérivée customer_day_facts avec des index sur customer_id et 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"]
  }
}

Pour une base de données Redshift, créez une table dérivée customer_day_facts avec une clé de tri entrelacée créée à partir de customer_id et 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"]
  }
}

Compatibilité des dialectes pour indexes

La possibilité d'utiliser indexes dépend du dialecte de base de données de votre connexion Looker. Si vous utilisez autre chose qu'une base de données traditionnelle (par exemple, MySQL ou Postgres), votre base de données peut ne pas être compatible avec le paramètre indexes. Looker vous avertit si tel est le cas. Vous pouvez remplacer le paramètre indexes par un paramètre adapté à votre connexion à la base de données. Pour en savoir plus sur ces paramètres, consultez la page de documentation sur les paramètres de vue.

Dans la dernière version de Looker, les dialectes suivants sont compatibles avec indexes :

Dialecte Compatibilité
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