Usage
view: my_view {
derived_table: {
indexes: ["order_id"]
...
}
}
|
היררכיה
indexes- או - indexes |
ערך ברירת המחדל
ללא
מקבל
השמות של עמודה אחת או יותר ב-PDT או בטבלה מסכמת
כללים מיוחדים
התמיכה ב-indexes מוגבלת לדיאלקטים ספציפיים
|
הגדרה
הפרמטר indexes מאפשר להחיל אינדקסים על העמודות של טבלה נגזרת מתמידה (PDT) או של טבלה מסכמת. כשמוסיפים יותר מעמודה אחת, Looker יוצר אינדקס אחד לכל עמודה שמציינים, ולא יוצר אינדקס יחיד עם כמה עמודות. אם הפרמטר indexes חסר בשאילתה, Looker יציג אזהרה להוספת הפרמטר indexes כדי לשפר את הביצועים של השאילתה. מידע נוסף על יצירת אינדקס לטבלאות נגזרות קבועות זמין בדף התיעוד טבלאות נגזרות ב-Looker.
רשימת הניבים שנתמכים ב-
indexesמופיעה בקטע תמיכה בניבים ב-indexesבדף הזה.הפרמטר
indexesפועל רק עם טבלאות שהן קבועות, כמו PDT וטבלאות מצטברות. אין תמיכה ב-indexesעבור טבלאות נגזרות ללא אסטרטגיית שמירה.בנוסף, הפרמטר
indexesלא נתמך בטבלאות נגזרות שמוגדרות באמצעותcreate_processאוsql_create.
אם משתמשים ב-indexes עם Redshift, נוצר מפתח מיון משולב. אפשר גם ליצור מפתחות מיון רגילים באמצעות sortkeys, אבל אי אפשר להשתמש בשניהם בו-זמנית. אפשר ליצור מפתחות הפצה באמצעות distribution.
באופן כללי, צריך להחיל אינדקסים על מפתחות ראשיים ועל עמודות של תאריכים או שעות.
דוגמאות
במסד נתונים רגיל (למשל, MySQL או Postgres), יוצרים customer_order_facts טבלת נתונים נגזרת קבועה. ה-PDT צריך להיבנות מחדש כשה-order_datagroup 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"]
}
}
במסד נתונים רגיל, יוצרים customer_order_facts טבלה נגזרת מתמידה שמבוססת על שאילתת SQL ומחילים אינדקס על 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"]
}
}
במסד נתונים רגיל, יוצרים customer_day_facts טבלה נגזרת עם אינדקסים גם ב-customer_id וגם ב-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"]
}
}
במסד נתונים של Redshift, יוצרים customer_day_facts טבלה נגזרת עם מפתח מיון משולב שנבנה מ-customer_id ומ-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"]
}
}
תמיכה בניבים של 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 | |
| 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 |