Consultar datos de columnas

En esta página se describe cómo ejecutar consultas en datos de columnas.

Consultar datos de columnas

La sugerencia de consulta @{scan_method=columnar} permite que una consulta lea datos de columnas. Puedes definir la sugerencia scan_method a nivel de declaración o de tabla.

Por ejemplo, puedes usar las siguientes consultas para leer datos de columnas de las tablas Singers y 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 datos en columnas de Spanner mediante consultas federadas de BigQuery

Para leer datos en columnas de Spanner desde BigQuery, puedes crear un conjunto de datos externo o usar la función EXTERNAL_QUERY.

Cuando consultas conjuntos de datos externos, los datos de columnas se usan automáticamente si están disponibles y son adecuados para tu consulta.

Si usas la función EXTERNAL_QUERY, incluye la @{scan_method=columnar} pista en la consulta de Spanner anidada.

En el siguiente ejemplo:

  • El primer argumento de EXTERNAL_QUERY especifica la conexión externa y el conjunto de datos, my-project.us.albums.
  • El segundo argumento es una consulta de SQL que selecciona MarketingBudget de la tabla AlbumInfo donde MarketingBudget es inferior a 500.000.
  • La sugerencia @{scan_method=columnar} optimiza la consulta externa para la lectura por columnas.
  • La instrucción SELECT externa calcula la suma de los MarketingBudget valores devueltos por la consulta externa.
  • La cláusula AS total_marketing_spend asigna un alias a la suma 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;');

Siguientes pasos