사용
view: my_view {
derived_table: {
indexes: ["order_id"]
...
}
}
|
계층 구조
indexes- 또는 - indexes |
기본값
없음
수락함
PDT 또는 총괄 표에 있는 하나 이상의 열 이름
특별 규칙
indexes은 특정 언어에서만 지원됩니다.
|
정의
indexes 매개변수를 사용하면 영구 파생 테이블(PDT) 또는 총괄 표의 열에 색인을 적용할 수 있습니다. 열을 두 개 이상 추가하면 Looker는 지정한 각 열에 대해 색인을 하나씩 만듭니다. 단일 다중 열 색인은 만들지 않습니다. 쿼리에 indexes 매개변수가 누락된 경우 Looker는 쿼리 성능을 개선하기 위해 indexes 매개변수를 추가하라는 경고를 표시합니다. Looker의 파생 테이블 문서 페이지에서 영구 파생 테이블 색인 생성에 대해 자세히 알아보세요.
indexes를 지원하는 언어 목록은 이 페이지의indexes에 대한 언어 지원 섹션을 참조하세요.
indexes매개변수는 PDT 및 집계 테이블과 같이 영구 테이블에서만 작동합니다. 지속성 전략이 없는 파생 테이블에는indexes가 지원되지 않습니다.또한
create_process또는sql_create를 사용하여 정의된 파생 테이블에는indexes파라미터가 지원되지 않습니다.
Redshift에서 indexes를 사용하는 경우 인터리브 처리된 정렬 키를 만듭니다. sortkeys를 사용하여 일반 정렬 키를 만들 수도 있지만 두 키를 동시에 사용할 수는 없습니다. 배포 키는 distribution를 사용하여 만들 수 있습니다.
일반적으로 색인은 기본 키와 날짜 또는 시간 열에 적용해야 합니다.
예시
기존 데이터베이스(예: MySQL 또는 Postgres)의 경우 customer_order_facts 영구 파생 테이블을 만듭니다. PDT는 order_datagroup 데이터 그룹이 트리거될 때 다시 빌드되어야 하며 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"]
}
}
기존 데이터베이스의 경우 SQL 쿼리를 기반으로 하고 customer_id에 색인을 적용하는 customer_order_facts 영구 파생 테이블을 만듭니다.
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"]
}
}
기존 데이터베이스의 경우 customer_id 및 date 모두에 색인이 있는 customer_day_facts 파생 테이블을 만듭니다.
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"]
}
}
Redshift 데이터베이스의 경우 customer_id 및 date에서 빌드된 인터리브 처리된 정렬 키를 사용하여 customer_day_facts 파생 테이블을 만듭니다.
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"]
}
}
indexes의 언어 지원
indexes를 사용할 수 있는지 여부는 Looker 연결에서 사용하는 데이터베이스 언어에 따라 다릅니다. 기존 데이터베이스(예: MySQL 또는 Postgres)가 아닌 다른 데이터베이스를 사용하는 경우 데이터베이스에서 indexes 매개변수를 지원하지 않을 수 있습니다. 이 경우 Looker에서 경고를 표시합니다. indexes 파라미터를 데이터베이스 연결에 적합한 파라미터로 바꿀 수 있습니다. 뷰 파라미터 문서 페이지에서 이러한 파라미터에 대해 자세히 알아보세요.
최신 버전의 Looker에서는 다음 언어가 indexes를 지원합니다.
| 언어 | 지원 여부 |
|---|---|
| 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 | |
| ClickHouse 26+ | |
| 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+ | |
| Dremio 26+ with Arrow Flight SQL | |
| 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 |