Get a free observability report to evaluate the potential savingsContact us →
Análisis de costos3 min de lectura

Top consultas de BigQuery por frecuencia

Las consultas repetidas son un multiplicador de costos oculto en BigQuery. Esta consulta agrupa textos de consultas idénticos y cuenta cuántas veces se ha ejecutado cada uno, junto con el costo acumulado de todas esas ejecuciones.

Por qué importa

Una consulta que cuesta $0.10 por ejecución pero se ejecuta 10,000 veces por mes cuesta $1,000. El análisis de frecuencia a menudo revela consultas de bajo costo que suman gastos significativos debido a su simple repetición. Estas son candidatas ideales para caché, materialización programada o aceleración con BI Engine.

Cómo funciona

La consulta agrupa cada texto de consulta único, luego cuenta ocurrencias y suma total_bytes_billed por grupo. El resultado muestra cada consulta única con su número de ejecuciones y costo bajo demanda acumulado.

Consulta SQL

Fill in your details to get a ready-to-run query:

SQL
-- Find the most frequently repeated queries and their cumulative cost

DECLARE lookback_days INT64 DEFAULT 14;

WITH jobs AS (
  SELECT
    query,
    COALESCE(total_bytes_billed, 0) AS bytes_billed,
    ROW_NUMBER() OVER (PARTITION BY job_id ORDER BY end_time DESC) AS rn
  FROM `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
  WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
    AND job_type = 'QUERY' AND state = 'DONE' AND total_slot_ms IS NOT NULL
),
deduplicated AS (
  SELECT query, bytes_billed FROM jobs WHERE rn = 1
),
grouped AS (
  SELECT
    query,
    COUNT(*) AS exec_count,
    SUM(bytes_billed) AS total_bytes
  FROM deduplicated
  GROUP BY query
)
SELECT
  query,
  exec_count,
  ROUND(total_bytes / POW(1024, 3), 2) AS total_gib_scanned,
  ROUND(total_bytes / POW(1024, 4) * 6.25, 2) AS cumulative_cost_usd
FROM grouped
...
Reemplace your-project y region-us con su proyecto GCP y la región de su dataset.

Explicación de la consulta

Los trabajos se deduplicar primero por job_id, luego se agrupan por texto de consulta. El conteo da la frecuencia de ejecución, y la suma de bytes facturados da el costo acumulado. Este enfoque revela eficientemente las consultas que se ejecutan repetidamente a escala.

Puntos clave

  • lightbulb

    Las consultas que se ejecutan >100 veces por día casi seguramente están automatizadas — verifique si pueden usar resultados en caché.

  • lightbulb

    BigQuery almacena resultados en caché durante 24 horas por defecto, pero solo para consultas idénticas con resultados deterministas.

  • lightbulb

    Las consultas con CURRENT_TIMESTAMP() o NOW() evitan el caché — considere usar truncamiento de fechas en su lugar.

  • lightbulb

    Las consultas de alta frecuencia que analizan las mismas tablas pueden beneficiarse de vistas materializadas o BI Engine.

Mejores prácticas

  1. 1

    Habilite el caché de resultados de BigQuery y evite patrones que lo eludan (CURRENT_TIMESTAMP, RAND, etc.).

  2. 2

    Cree vistas materializadas para las 5 consultas analíticas ejecutadas más frecuentemente.

  3. 3

    Consolide consultas duplicadas de diferentes paneles o servicios en una sola consulta programada.

  4. 4

    Use BI Engine para consultas sub-segundo que alimentan paneles interactivos.

¿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