Questa pagina descrive come eseguire query sui dati in formato colonna.
Eseguire query sui dati a colonne
Il motore di query Spanner analizza le query e seleziona automaticamente il formato colonnare se è vantaggioso. Tuttavia, diverse classi di query
potrebbero comunque richiedere il suggerimento per la query per utilizzare il formato colonnare. Di seguito sono riportati
esempi di come utilizzare il suggerimento per la query @{scan_method=columnar}:
@{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';
Inoltre, puoi disattivare la selezione automatica delle colonne in modo esplicito
utilizzando il suggerimento per la query @{scan_method=no_columnar}.
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, Spanner utilizza automaticamente i dati colonnari se sono disponibili e appropriati per il carico di lavoro.
Puoi anche includere il suggerimento @{scan_method=columnar} nella query Spanner nidificata.
Nell'esempio seguente di utilizzo del suggerimento per la query:
- Il primo argomento di
EXTERNAL_QUERYspecifica la connessione esterna e il set di dati,my-project.us.albums. - Il secondo argomento è una query SQL che seleziona
MarketingBudgetdalla tabellaAlbumInfoin cuiMarketingBudgetè inferiore a 500.000. - Il suggerimento
@{scan_method=columnar}ottimizza la query esterna per la scansione colonnare. - L'istruzione
SELECTesterna calcola la somma dei valoriMarketingBudgetrestituiti dalla query esterna. - La clausola
AS total_marketing_spendassegna 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
- Scopri di più sul motore colonnare.
- Scopri come attivare il motore colonnare.
- Scopri come monitorare il motore colonnare.