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
indexesnesta página para ver a lista de dialetos que oferecem suporte aindexes.O parâmetro
indexesfunciona apenas com tabelas persistentes, como PDTs e tabelas agregadas.indexesnão é compatível com tabelas derivadas sem uma estratégia de persistência.Além disso, o parâmetro
indexesnão é compatível com tabelas derivadas definidas usandocreate_processousql_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 |