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 plusieurs colonnes d'une PDT ou d'une table agrégée

Règles spéciales
indexes n'est compatible qu'avec certains dialectes.

Définition

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

Pour obtenir la liste des dialectes compatibles avec indexes, consultez la section Dialectes compatibles avec indexes sur cette page.

Le paramètre indexes ne fonctionne qu'avec les tables persistantes, telles que les 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 allez créer 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 les utiliser en même temps. Vous pouvez créer des clés de distribution 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 (MySQL ou Postgres, par exemple), créez une table dérivée persistante customer_order_facts. La table PDT doit être recréée lorsque le groupe de données order_datagroup est déclenché et doit comporter 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 basée 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"]
  }
}

Prise en charge 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 une base de données autre qu'une base de données traditionnelle (par exemple, MySQL ou Postgres), il est possible que votre base de données ne soit pas compatible avec le paramètre indexes. Looker vous avertira si c'est le cas. Vous pouvez remplacer le paramètre indexes par celui qui convient à votre connexion à la base de données. Pour en savoir plus sur ces paramètres, consultez la page de documentation Afficher les paramètres.

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+
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