Utilizzo
view: my_view {
derived_table: {
indexes: ["order_id"]
...
}
}
|
Gerarchia
indexes- o - indexes |
Valore predefinito
Nessuno
Accetta
I nomi di una o più colonne in una PDT o in una tabella aggregata
Regole speciali
indexes è supportato solo su dialetti specifici
|
Definizione
Il parametro indexes consente di applicare indici alle colonne di una tabella derivata permanente (PDT) o di una tabella aggregata. Quando aggiungi più di una colonna, Looker crea un indice per ogni colonna specificata; non crea un singolo indice a più colonne. Se il parametro indexes non è presente nella query, Looker ti avviserà di aggiungere un parametro indexes per migliorare il rendimento della query. Scopri di più sull'indicizzazione delle tabelle derivate permanenti nella pagina della documentazione dedicata alle tabelle derivate in Looker.
Per un elenco dei dialetti che supportano
indexes, consulta la sezione Supporto dei dialetti perindexesin questa pagina.Il parametro
indexesfunziona solo con le tabelle che sono permanenti, come le PDT e le tabelle aggregate.indexesnon è supportato per le tabelle derivate senza una strategia di persistenza.Inoltre, il parametro
indexesnon è supportato per le tabelle derivate definite utilizzandocreate_processosql_create.
Se utilizzi indexes con Redshift, crei una chiave di ordinamento con interleaving. Puoi anche creare chiavi di ordinamento regolari utilizzando sortkeys, ma non puoi utilizzare entrambe contemporaneamente. Le chiavi di distribuzione possono essere create con distribution.
In generale, gli indici devono essere applicati alle chiavi primarie e alle colonne di data o ora.
Esempi
Per un database tradizionale (ad es. MySQL o Postgres), crea una tabella derivata permanente customer_order_facts. La PDT deve essere ricreata quando viene attivato il order_datagroup gruppo di dati e avrà un indice su 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"]
}
}
Per un database tradizionale, crea una tabella derivata permanente customer_order_facts basata su una query SQL e applica un indice su 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"]
}
}
Per un database tradizionale, crea una tabella derivata customer_day_facts con indici sia su customer_id che su 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"]
}
}
Per un database Redshift, crea una tabella derivata customer_day_facts con una chiave di ordinamento con interleaving creata da 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"]
}
}
Supporto dei dialetti per indexes
La possibilità di utilizzare indexes dipende dal dialetto del database utilizzato dalla connessione Looker. Se utilizzi un database diverso da un database tradizionale (ad es. MySQL o Postgres), il database potrebbe non supportare il parametro indexes. Looker ti avviserà in questo caso. Puoi sostituire il parametro indexes con uno appropriato per la connessione al database. Scopri di più su questi parametri nella pagina della documentazione relativa ai parametri di visualizzazione.
Nell'ultima release di Looker, i seguenti dialetti supportano indexes:
| Dialetto | Supportata? |
|---|---|
| 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 |