índice

Uso

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

- ou -

indexes
Valor padrão
Nenhum

Aceita
Os nomes de uma ou mais colunas em uma PDT ou tabela agregada

Regras especiais
O indexes só está disponível em dialetos específicos

Definição

O parâmetro indexes permite aplicar índices às colunas de uma tabela derivada persistente (PDT) ou uma tabela agregada. Quando você adiciona mais de uma coluna, o Looker cria um índice para cada uma delas, não um único índice de várias colunas. Se o parâmetro indexes estiver faltando na consulta, o Looker vai avisar para adicionar um parâmetro indexes e melhorar o desempenho da consulta. Saiba mais sobre a indexação de tabelas derivadas permanentes na página de documentação Tabelas derivadas no Looker.

Consulte a seção Suporte a dialetos para indexes nesta página para ver a lista de dialetos que oferecem suporte a indexes.

O parâmetro indexes funciona apenas com tabelas persistentes, como PDTs e tabelas agregadas. indexes não é compatível com tabelas derivadas sem uma estratégia de persistência.

Além disso, o parâmetro indexes não é compatível com tabelas derivadas definidas usando create_process ou sql_create.

Se você usar indexes com o Redshift, vai criar uma chave de classificação intercalada. Também é possível criar chaves de classificação regulares usando sortkeys, mas não é possível usar as duas ao mesmo tempo. As chaves de distribuição podem ser criadas com distribution.

Em geral, os índices devem ser aplicados a chaves primárias e colunas de data ou hora.

Exemplos

Para um banco de dados tradicional (por exemplo, MySQL ou Postgres), crie uma customer_order_facts tabela derivada persistente. A PDT será recriada quando o grupo de dados order_datagroup for acionado e terá um índice em 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"]
  }
}

Para um banco de dados tradicional, crie uma tabela derivada persistente customer_order_facts com base em uma consulta SQL e aplique um índice em 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"]
  }
}

Para um banco de dados tradicional, crie uma tabela derivada customer_day_facts com índices em customer_id e 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"]
  }
}

Para um banco de dados do Redshift, crie uma tabela derivada customer_day_facts com uma chave de classificação intercalada criada com base em customer_id e 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"]
  }
}

Suporte a dialetos para indexes

A capacidade de usar indexes depende do dialeto do banco de dados usado pela sua conexão do Looker. Se você estiver trabalhando com algo diferente de um banco de dados tradicional (por exemplo, MySQL ou Postgres), talvez seu banco de dados não seja compatível com o parâmetro indexes. O Looker vai avisar se esse for o caso. Você pode substituir o parâmetro indexes por um adequado à sua conexão de banco de dados. Saiba mais sobre esses parâmetros na página de documentação Parâmetros de visualização.

Na versão mais recente do Looker, os seguintes dialetos são compatíveis com indexes:

Dialeto Compatível?
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