Saltar al contenido
Telemetry
Fiabilidad de la base de datos receta SQL

Clasificar consultas de bases de datos por impacto en el tiempo total

Combine el volumen de llamadas y la latencia para encontrar huellas digitales de bases de datos que consumen la mayor parte del tiempo de aplicación.

Principiantedatabase_query_eventsRevisado 2026-07-28Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Compatibilidad con SQL, contrato de eventos, resultados sintéticos y advertencias operativas. Revisar los estándares y la propiedad

Pregunta respondida

¿Qué operación de base de datos consume la mayor cantidad de tiempo de solicitud acumulado?

Una consulta lenta poco común y una consulta de gran volumen moderadamente lenta necesitan prioridades diferentes. El tiempo total de consulta estima el impacto agregado de la aplicación, mientras que p95 preserva el comportamiento de cola.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampTiempo de finalización de la consulta.
database_systemUtf8Nombre del sistema de base de datos.
operation_nameUtf8SELECT, INSERT, or another controlled operation.
query_fingerprintUtf8Forma de declaración normalizada sin valores.
duration_msFloat64Duración de la consulta observada por la aplicación.
request_idUtf8Identificador de solicitud de padres seguro.
DataFusionSQL

Copiar la consulta

sql
SELECT
  database_system,
  operation_name,
  query_fingerprint,
  COUNT(*) AS calls,
  SUM(duration_ms) AS total_time_ms,
  approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
  COUNT(DISTINCT request_id) AS affected_requests
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY database_system, operation_name, query_fingerprint
ORDER BY total_time_ms DESC
LIMIT 20;

Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.

Resultado de la consulta

Tiempo total de consulta por huella dactilar

La lista de proyectos tiene una latencia final más baja pero consume más tiempo de solicitud agregado.

database_systemoperation_namequery_fingerprintcallstotal_time_msp95_duration_msaffected_requests
postgresqlSELECTproject-list-v418.4001.288.0001429200
postgresqlSELECTmonthly-report-v2420924.0004180410

Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.

Total query time by fingerprint: gráfico estático de valores sintéticos de total_time_ms del resultado del ejemplo Rank Database Queries by Total Time Impact
SVG indexable de la salida del ejemplo determinista. Descárguelo para ver un artículo, un runbook o una revisión de diseño con atribución.

Reproducir el ejemplo

Descargar el accesorio público

El paquete JSON incluye el contrato de evento escrito, illustrative filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.

Cómo funciona el SQL

  1. 1El tiempo total combina volumen y latencia en una clasificación de impacto.
  2. 2p95 mantiene visible una consulta patológica de bajo volumen.
  3. 3Las solicitudes afectadas distinguen llamadas repetidas, como el comportamiento N+1.

Casos extremos para decidir

  • La duración de la aplicación incluye efectos de grupo y de red a menos que se instrumenten por separado.
  • Nunca registre valores SQL vinculados.
  • El muestreo necesita recuentos ponderados antes de comparar el impacto total.

Panel recomendado

  • Barras: total_time_ms por huella dactilar
  • Tabla: llamadas, p95 y solicitudes afectadas
  • Tendencia: tiempo total de consulta por versión

Guía de alerta

Revisar el crecimiento sostenido en tiempo total; página solo cuando impulsa un objetivo de confiabilidad de cara al cliente.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecútelo en eventos reales.

Crea una tabla, adapta los campos y guarda el resultado.

Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.

Obtén una clave API