מדדים

שימוש

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