Uso
view: my_view {
derived_table: {
indexes: ["order_id"]
...
}
}
|
Jerarquía
indexesO bien: indexes |
Valor predeterminado
Ninguno
Acepta
Nombres de una o más columnas en una PDT o una tabla agregada
Reglas especiales
indexes solo se admite en dialectos específicos
|
Definición
El parámetro indexes te permite aplicar índices a las columnas de una tabla derivada persistente (PDT) o una tabla agregada. Cuando agregas más de una columna, Looker crea un índice para cada columna que especificas; no crea un solo índice de varias columnas. Si falta el parámetro indexes en la consulta, Looker te advertirá que agregues un parámetro indexes para mejorar el rendimiento de la consulta. Obtén más información para indexar tablas derivadas persistentes en la página de documentación Tablas derivadas en Looker.
Consulta la sección Compatibilidad de dialectos con
indexesen esta página para ver la lista de dialectos que admitenindexes.El parámetro
indexessolo funciona con tablas persistentes, como las PDT y las tablas agregadas.indexesno se admite para las tablas derivadas sin una estrategia de persistencia.Además, el parámetro
indexesno se admite para las tablas derivadas que se definen concreate_processosql_create.
Si usas indexes con Redshift, crearás una clave de ordenamiento intercalada. También puedes crear claves de ordenamiento regulares con sortkeys, pero no puedes usar ambas al mismo tiempo. Las claves de distribución se pueden crear con distribution.
En general, los índices se deben aplicar a las claves primarias y a las columnas de fecha o hora.
Ejemplos
Para una base de datos tradicional (por ejemplo, MySQL o Postgres), crea una tabla derivada persistente customer_order_facts. El PDT se debe volver a compilar cuando se active el datagroup order_datagroup y tendrá un índice en 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 una base de datos tradicional, crea una tabla derivada persistente customer_order_facts basada en una consulta en SQL y aplica un índice en 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 una base de datos tradicional, crea una tabla derivada customer_day_facts con índices en customer_id y 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 una base de datos de Redshift, crea una tabla derivada customer_day_facts con una clave de ordenamiento intercalada creada a partir de customer_id y 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"]
}
}
Compatibilidad con dialectos para indexes
La capacidad de usar indexes depende del dialecto de la base de datos que usa tu conexión de Looker. Si trabajas con algo que no es una base de datos tradicional (por ejemplo, MySQL o Postgres), es posible que tu base de datos no admita el parámetro indexes. Looker te advertirá si este es el caso. Puedes reemplazar el parámetro indexes por uno que sea adecuado para tu conexión a la base de datos. Obtén más información sobre estos parámetros en la página de documentación Ver parámetros.
En la versión más reciente de Looker, los siguientes dialectos admiten indexes:
| Dialecto | ¿Es compatible? |
|---|---|
| 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 |