sortkeys

Penggunaan

view: my_view {
  derived_table: {
    sortkeys: ["date"]
    ...
  }
}
Hierarki
sortkeys

- atau -

sortkeys
Nilai Default
Tidak ada

Menerima
Nama satu atau beberapa kolom dalam PDT atau tabel gabungan

Aturan Khusus
sortkeys hanya didukung di dialek tertentu

Definisi

Parameter sortkeys memungkinkan Anda menentukan satu atau beberapa kolom tabel turunan persisten (PDT) atau tabel gabungan yang akan diterapkan kunci pengurutan reguler. Gunakan kunci pengurutan untuk menentukan kolom PDT yang akan paling sering diurutkan agar kueri data lebih cepat.

Lihat bagian Dukungan dialek untuk sortkeys untuk mengetahui daftar dialek yang mendukung sortkeys.

Anda juga dapat membuat kunci pengurutan yang disisipkan dengan menggunakan indexes. Anda tidak dapat menggunakan keduanya secara bersamaan, tetapi setidaknya salah satunya diperlukan.

Parameter sortkeys hanya berfungsi dengan tabel yang persisten, seperti PDT dan tabel gabungan. sortkeys tidak didukung untuk tabel turunan tanpa strategi persistensi.

Selain itu, parameter sortkeys tidak didukung untuk tabel turunan yang ditentukan menggunakan create_process atau sql_create.

Secara umum, kunci pengurutan harus diterapkan ke kolom tanggal atau waktu dalam tabel, dan mungkin ke kolom yang akan sering digunakan sebagai filter. Informasi selengkapnya dapat ditemukan di dokumentasi Amazon Redshift.

Contoh

Contoh ini mengasumsikan bahwa Anda bekerja dengan database Redshift sehingga Anda dapat menggunakan parameter sortkeys.

Buat customer_day_facts tabel turunan native persisten yang memiliki sortkey pada date dan dibangun ulang saat grup data order_datagroup dipicu:

view: customer_day_facts {
  derived_table: {
    explore_source: order {
      column: customer_id { field: order.customer_id }
      column: date { field: order.order_date }
      column: num_orders { field: order.customer_order_count }
    }
    datagroup_trigger: order_datagroup
    sortkeys: ["date"]
  }
}

Buat tabel turunan customer_day_facts yang didasarkan pada kueri SQL dan memiliki sortkey pada 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"
    sortkeys: ["date"]
  }
}

Buat tabel turunan customer_day_facts yang didasarkan pada kueri SQL dengan sortkey pada date dan customer_id:

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"
    sortkeys: ["date", "customer_id"]
  }
}

Dukungan dialek untuk sortkeys

Kemampuan untuk menggunakan sortkeys bergantung pada dialek database yang digunakan koneksi Looker Anda. Dalam rilis Looker terbaru, dialek berikut mendukung sortkeys:

Dialek SQL tradisional (seperti MySQL dan Postgres) harus menggunakan indexes; sortkeys tidak akan berfungsi dengan database ini.

Dialek Didukung?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
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 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
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