Eseguire query sui dati a colonne

Questa pagina descrive come eseguire query sui dati in formato colonna.

Eseguire query sui dati a colonne

Il suggerimento per la query @{scan_method=columnar} consente a una query di leggere i dati in formato colonnare. Puoi impostare il suggerimento scan_method a livello di istruzione o a livello di tabella.

Ad esempio, puoi utilizzare le seguenti query per leggere i dati delle colonne dalle tabelle Singers e Messages:

  • @{scan_method=columnar} SELECT COUNT(*) FROM Singers;
  • SELECT COUNT(*) FROM Singers @{scan_method=columnar};
  • @{scan_method=columnar} SELECT m.MsgBlob FROM Messages WHERE m.id='1234';

Esegui query sui dati colonnari di Spanner utilizzando le query federate di BigQuery

Per leggere i dati colonnari di Spanner da BigQuery, puoi creare un set di dati esterno o utilizzare la funzione EXTERNAL_QUERY.

Quando esegui query su set di dati esterni, i dati colonnari vengono utilizzati automaticamente se sono disponibili e adatti alla tua query.

Se utilizzi la funzione EXTERNAL_QUERY, includi il suggerimento @{scan_method=columnar} nella query Spanner nidificata.

Nel seguente esempio:

  • Il primo argomento di EXTERNAL_QUERY specifica la connessione esterna e il set di dati, my-project.us.albums.
  • Il secondo argomento è una query SQL che seleziona MarketingBudget dalla tabella AlbumInfo in cui MarketingBudget è inferiore a 500.000.
  • Il suggerimento @{scan_method=columnar} ottimizza la query esterna per la scansione colonnare.
  • L'istruzione SELECT esterna calcola la somma dei valori MarketingBudget restituiti dalla query esterna.
  • La clausola AS total_marketing_spend assegna un alias alla somma calcolata.
SELECT SUM(MarketingBudget) AS total_marketing_spend
FROM
  EXTERNAL_QUERY(
    'my-project.us.albums',
    '@{scan_method=columnar} SELECT AlbumInfo.MarketingBudget FROM AlbumInfo WHERE AlbumInfo.MarketingBudget < 500000;');

Passaggi successivi