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 |