En esta página, se describe cómo ejecutar consultas en datos de columnas.
Consulta datos de columnas
El motor de consultas de Spanner analiza las consultas y selecciona automáticamente el formato de columnas si es beneficioso. Sin embargo, es posible que varias clases de consultas aún necesiten la sugerencia de consulta para usar el formato de columnas. A continuación, se muestran ejemplos de cómo usar la sugerencia de consulta @{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';
Además, puedes inhabilitar la selección automática de columnas de forma explícita con la sugerencia de consulta @{scan_method=no_columnar}.
Consulta datos de columnas de Spanner con consultas federadas de BigQuery
Para leer datos de columnas de Spanner desde BigQuery, puedes
crear un conjunto de datos externo
o usar la
EXTERNAL_QUERY
función.
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, Spanner usa automáticamente los datos de columnas si están disponibles y son adecuados para la carga de trabajo.
También puedes incluir la sugerencia @{scan_method=columnar} en la consulta anidada de Spanner.
En el siguiente ejemplo, se muestra cómo usar la sugerencia de consulta:
- El primer argumento para
EXTERNAL_QUERYespecifica la conexión externa y el conjunto de datos,my-project.us.albums. - El segundo argumento es una consulta en SQL que selecciona
MarketingBudgetde la tablaAlbumInfo, en la queMarketingBudgetes inferior a 500,000. - La sugerencia
@{scan_method=columnar}optimiza la consulta externa para el análisis de columnas. - La instrucción
SELECTexterna calcula la suma de los valores deMarketingBudgetque muestra la consulta externa. - La cláusula
AS total_marketing_spendasigna 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;');
¿Qué sigue?
- Obtén información sobre el motor de columnas.
- Obtén información para habilitar el motor de columnas.
- Obtén información para supervisar el motor de columnas.