chiavi di ordinamento

Utilizzo

view: my_view {
derived_table: {
sortkeys: ["data"]
...
}
}
Gerarchia
sortkeys

- oppure -

sortkeys
Valore predefinito
Nessuna

Accetta
I nomi di una o più colonne di una PDT o di una tabella aggregata

Regole speciali
sortkeys è supportato solo su dialetti specifici

Definizione

Il parametro sortkeys consente di specificare una o più colonne di una tabella derivata permanente (PDT) o di una tabella aggregata a cui applicare una chiave di ordinamento standard. Utilizza una chiave di ordinamento per specificare le colonne di una PDT che verranno ordinate più spesso per velocizzare l'esecuzione di query sui dati.

Consulta la sezione Assistenza di Dialetto per sortkeys di seguito per l'elenco dei dialetti che supportano sortkeys.

Puoi anche creare una chiave di ordinamento con interfoliazione utilizzando indexes. Non puoi utilizzare entrambi contemporaneamente, ma è necessario specificarne almeno una.

Il parametro sortkeys funziona solo con tabelle persistenti, come le PDT e le tabelle aggregate. sortkeys non è supportato per le tabelle derivate senza una strategia di persistenza.

Inoltre, il parametro sortkeys non è supportato per le tabelle derivate definite con create_process o sql_create.

In generale, una chiave di ordinamento deve essere applicata alle colonne della data o dell'ora nella tabella e possibilmente alle colonne che verranno utilizzate spesso come filtri. Ulteriori informazioni sono disponibili nella documentazione di Amazon Redshift.

Esempi

Questi esempi presuppongono che tu stia lavorando con un database Redshift in modo da poter utilizzare il parametro sortkeys.

Crea una tabella nativa derivata customer_day_facts che abbia un ordinamento su date e si ricostruisce quando viene attivato il datagroup order_datagroup:

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"]
  }
}

Crea una tabella derivata customer_day_facts basata su una query SQL e con una chiave di ordinamento su 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"]
  }
}

Crea una tabella derivata customer_day_facts basata su una query SQL con una chiave di ordinamento su date e 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"]
  }
}

Supporto del dialetto per sortkeys

La possibilità di utilizzare sortkeys dipende dal dialetto del database utilizzato dalla connessione di Looker. Nell'ultima release di Looker i seguenti dialetti supportano sortkeys:

I dialetti SQL tradizionali (come MySQL e Postgres) dovrebbero utilizzare indexes; sortkeys non funzionerà con questi database.