Consultar dados em colunas

Nesta página, descrevemos como executar consultas em dados colunares.

Consultar dados em colunas

A dica de consulta @{scan_method=columnar} permite que uma consulta leia dados de colunas. É possível definir a dica scan_method no nível da instrução ou no nível da tabela.

Por exemplo, é possível usar as consultas a seguir para ler dados de colunas das tabelas 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';

Consultar dados colunares do Spanner usando consultas federadas do BigQuery

Para ler dados colunares do Spanner no BigQuery, crie um conjunto de dados externo ou use a função EXTERNAL_QUERY.

Ao consultar conjuntos de dados externos, os dados em colunas são usados automaticamente se estiverem disponíveis e forem adequados para sua consulta.

Se você usar a função EXTERNAL_QUERY, inclua a dica @{scan_method=columnar} na consulta aninhada do Spanner.

No exemplo a seguir:

  • O primeiro argumento de EXTERNAL_QUERY especifica a conexão externa e o conjunto de dados, my-project.us.albums.
  • O segundo argumento é uma consulta SQL que seleciona MarketingBudget na tabela AlbumInfo em que MarketingBudget é menor que 500.000.
  • A dica @{scan_method=columnar} otimiza a consulta externa para a verificação colunar.
  • A instrução SELECT externa calcula a soma dos valores MarketingBudget retornados pela consulta externa.
  • A cláusula AS total_marketing_spend atribui um alias à soma calculada.
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;');

A seguir