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 tablaAlbumInfo
dondeMarketingBudget
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 losMarketingBudget
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
- Consulta información sobre el motor de columnas.
- Consulta cómo habilitar el motor de columnas.
- Consulta cómo monitorizar el motor de columnas.