Análisis de costos de BigQuery por consulta
Esta consulta le ofrece una vista línea por línea de cada ejecución de consulta en su proyecto, incluyendo su costo bajo demanda, uso de slots y duración facturada. Es el análisis de costos más granular disponible — perfecto para profundizar en consultas individuales costosas.
Por qué importa
Las vistas de costos agregados (por usuario, por etiqueta) le dicen dónde va el dinero a alto nivel, pero para resolver realmente el problema necesita ver las consultas individuales. Este desglose por consulta le permite identificar las instrucciones SQL exactas que consumen más recursos y priorizar optimizaciones con el mayor ROI.
Cómo funciona
La consulta lee desde INFORMATION_SCHEMA.JOBS_BY_PROJECT y calcula varias métricas de costo para cada ejecución de consulta: número aproximado de slots, costo bajo demanda (basado en bytes facturados), horas-slot facturadas (para comparación con Editions) y número de ejecuciones. También aplica las reglas de facturación mínima de BigQuery — mínimo 10 MiB por consulta y duración mínima de 1 minuto para Editions.
Consulta SQL
Fill in your details to get a ready-to-run query:
-- Per-query cost breakdown with slot and duration metrics
DECLARE lookback_days INT64 DEFAULT 7;
WITH base_jobs AS (
SELECT
project_id,
query,
start_time,
end_time,
COALESCE(total_bytes_billed, 0) AS bytes_billed,
total_slot_ms,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND) AS duration_ms,
ROUND(SAFE_DIVIDE(total_slot_ms,
TIMESTAMP_DIFF(end_time, start_time, MILLISECOND)), 2) AS avg_slots
FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
AND state = 'DONE' AND total_slot_ms IS NOT NULL
),
with_billing AS (
SELECT *,
CEIL(avg_slots / 100) * 100 AS billed_slots,
GREATEST(duration_ms, 60000) / 3.6e6 AS billed_hours,
GREATEST(bytes_billed, 10 * POW(1024, 2)) AS billed_bytes
FROM base_jobs
),
freq AS (
SELECT query, COUNT(*) AS exec_count FROM base_jobs GROUP BY query
)
SELECT
...Explicación de la consulta
La consulta calcula el número aproximado de slots dividiendo total_slot_ms por el tiempo de ejecución. Aplica las reglas de facturación mínima de BigQuery: mínimo 10 MiB de bytes y duración mínima de 1 minuto. El número de slots se redondea al 100 más cercano (coincidiendo con los incrementos del autoscaler). El costo bajo demanda se calcula a $6.25/TiB, y las horas-slot se calculan para comparación de costos con Editions.
Puntos clave
Las consultas con alto costo bajo demanda pero pocos slots están analizando demasiados datos — necesitan filtros de partición o poda de columnas.
Las consultas con muchas horas-slot pero pocos bytes facturados son computacionalmente costosas — busque JOINs complejos, DISTINCT o funciones de ventana.
Las consultas con alto número de ejecuciones son candidatas para caché de resultados o vistas materializadas.
Compare on_demand_cost_usd vs slot_hours para determinar qué modelo de facturación sería más barato por consulta.
Mejores prácticas
- 1
Concentre el esfuerzo de optimización en las 10 consultas principales por costo — típicamente representan el 60-80% del gasto total.
- 2
Para consultas ejecutadas frecuentemente, considere materializar resultados o usar BI Engine.
- 3
Use EXPLAIN para entender el plan de ejecución de la consulta antes y después de la optimización.
- 4
Configure alertas automáticas para consultas que superen un umbral de costo.
¿Quiere que CloudClerk encuentre estos ahorros automáticamente?
Nuestra plataforma se conecta a su proyecto BigQuery, ejecuta estos análisis automáticamente y entrega recomendaciones de optimización impulsadas por IA — todo con sus datos completamente anonimizados.
Guías relacionadas
Análisis de costos de BigQuery por usuario
Descubra qué usuarios generan más gasto en BigQuery. Consulte INFORMATION_SCHEMA para clasificar usuarios por costo bajo demanda e identificar objetivos de optimización.
Leer guíaAnálisis de costos de BigQuery por etiqueta
Desglose los costos de BigQuery por etiquetas de trabajos. Atribuya el gasto a equipos, pipelines o funcionalidades usando los pares clave-valor de sus trabajos.
Leer guíaTop consultas de BigQuery por costo
Encuentre las consultas de BigQuery más costosas por costo bajo demanda. Clasifique consultas por total de bytes facturados para identificar los principales impulsores de costos.
Leer guíaTop consultas de BigQuery por frecuencia
Identifique las consultas de BigQuery ejecutadas más frecuentemente. Encuentre consultas repetidas candidatas para caché, vistas materializadas o consolidación.
Leer guía