Penggunaan
view: my_view {
derived_table: {
indexes: ["order_id"]
...
}
}
|
Hierarki
indexes- atau - indexes |
Nilai Default
Tidak ada
Menerima
Nama satu atau beberapa kolom dalam PDT atau tabel gabungan
Aturan Khusus
indexes hanya didukung di dialek tertentu
|
Definisi
Parameter indexes memungkinkan Anda menerapkan indeks ke kolom tabel turunan persisten (PDT) atau tabel gabungan. Saat Anda menambahkan lebih dari satu kolom, Looker akan membuat satu indeks untuk setiap kolom yang Anda tentukan; Looker tidak membuat satu indeks multi-kolom. Jika parameter indexes tidak ada dalam kueri, Looker akan memperingatkan Anda untuk menambahkan parameter indexes guna meningkatkan performa kueri. Pelajari lebih lanjut cara mengindeks tabel turunan persisten di halaman dokumentasi Tabel turunan di Looker.
Lihat bagian Dukungan dialek untuk
indexesdi halaman ini untuk mengetahui daftar dialek yang mendukungindexes.Parameter
indexeshanya berfungsi dengan tabel yang persisten, seperti PDT dan tabel gabungan.indexestidak didukung untuk tabel turunan tanpa strategi persistensi.Selain itu, parameter
indexestidak didukung untuk tabel turunan yang ditentukan menggunakancreate_processatausql_create.
Jika Anda menggunakan indexes dengan Redshift, Anda akan membuat kunci pengurutan yang disisipkan. Anda juga dapat membuat kunci pengurutan reguler menggunakan sortkeys, tetapi Anda tidak dapat menggunakan keduanya secara bersamaan. Kunci distribusi dapat dibuat dengan distribution.
Secara umum, indeks harus diterapkan ke kunci utama dan kolom tanggal atau waktu.
Contoh
Untuk database tradisional (misalnya, MySQL atau Postgres), buat tabel turunan persisten customer_order_facts. PDT harus dibangun ulang saat datagroup order_datagroup dipicu dan akan memiliki indeks pada 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"]
}
}
Untuk database tradisional, buat tabel turunan persisten customer_order_facts yang didasarkan pada kueri SQL dan menerapkan indeks pada 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"]
}
}
Untuk database tradisional, buat tabel turunan customer_day_facts dengan indeks pada customer_id dan 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"]
}
}
Untuk database Redshift, buat tabel turunan customer_day_facts dengan kunci pengurutan yang disisipkan yang dibuat dari customer_id dan 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"]
}
}
Dukungan dialek untuk indexes
Kemampuan untuk menggunakan indexes bergantung pada dialek database yang digunakan koneksi Looker Anda. Jika Anda menggunakan sesuatu selain database tradisional (misalnya, MySQL atau Postgres), database Anda mungkin tidak mendukung parameter indexes. Looker akan memperingatkan Anda jika hal ini terjadi. Anda dapat menukar parameter indexes dengan parameter yang sesuai untuk koneksi database Anda. Pelajari lebih lanjut parameter tersebut di halaman dokumentasi Melihat parameter.
Dalam rilis Looker terbaru, dialek berikut mendukung indexes:
| Dialek | Didukung? |
|---|---|
| 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 |