שימוש
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), יוצרים טבלה נגזרת מתמידה (PDT) של 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"]
}
}
במסד נתונים רגיל, יוצרים טבלה נגזרת מתמידה (PDT) של 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 | |
| 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 |