מדדים

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