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 in 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 multicolonna. Se il parametro indexes non è presente nella query, Looker ti avvisa di aggiungere un parametro indexes per migliorare il rendimento della query. Scopri di più sull'indicizzazione delle tabelle derivate permanenti nella pagina della documentazione Tabelle derivate in Looker.
Consulta la sezione Supporto dei dialetti per
indexesin questa pagina per l'elenco dei dialetti che supportanoindexes.Il parametro
indexesfunziona solo con le tabelle persistenti, 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, creerai una chiave di ordinamento interleaved. Puoi anche creare chiavi di ordinamento regolari utilizzando sortkeys, ma non puoi utilizzarle 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 date o ore.
Esempi
Per un database tradizionale (ad esempio MySQL o Postgres), crea una customer_order_facts tabella derivata persistente. 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 customer_order_facts tabella derivata permanente basata su una query SQL e applica un indice a 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 interleaved 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 lavori con un database diverso da un database tradizionale (ad esempio MySQL o Postgres), il tuo database potrebbe non supportare il parametro indexes. Looker ti avviserà se questo è il caso. Puoi sostituire il parametro indexes con uno appropriato per la connessione al database. Scopri di più su questi parametri nella pagina della documentazione Visualizza parametri.
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+ | |
| 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 |