Una consulta de BigQuery con WHERE en timestamp e ID sigue activando un escaneo completo de la tabla. Con cambios mínimos en el SQL, ¿cómo se reducen los bytes escaneados?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Volver a crear la tabla con una columna de partición y una columna de clustering..
Por qué esta es la respuesta
La opción correcta es volver a crear la tabla con una columna de partición y una columna de clustering. BigQuery escanea menos datos cuando las consultas utilizan columnas particionadas y agrupadas (clustered) en sus cláusulas WHERE. La partición divide la tabla en segmentos más pequeños basados en un valor de columna (como una fecha o timestamp), y el clustering ordena los datos dentro de cada partición por una o más columnas especificadas (como un ID). Esto permite a BigQuery saltarse los datos irrelevantes, reduciendo drásticamente los bytes escaneados y el costo de la consulta. Crear una tabla separada para cada ID no es escalable ni eficiente. Usar LIMIT solo restringe el número de filas devueltas, no los bytes escaneados inicialmente. El flag bq query --maximumbytesbilled es una medida de seguridad para evitar costos excesivos, no una forma de reducir los bytes realmente escaneados por la consulta.
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta