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

Encuentre consultas lentas en bases de datos por huella digital

Clasifique las operaciones de bases de datos normalizadas por tasa de consultas lentas, duración promedio y peor duración observada sin almacenar SQL ni parámetros sin formato.

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é operaciones de bases de datos son lo suficientemente lentas como para investigarlas?

El SQL sin formato a menudo contiene identificadores, valores y variaciones ilimitadas. Una huella digital de consulta controlada mantiene juntas operaciones equivalentes para que una velocidad de consulta lenta pueda identificar rutas de aplicaciones recurrentes sin convertir la telemetría en un archivo de texto de consulta.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampCuando se completó la operación de la base de datos, en UTC.
query_fingerprintUtf8Una etiqueta de operación normalizada y limitada sin valores de parámetros.
serviceUtf8Solicitud o trabajador que emitió la operación.
database_nameUtf8Nombre de la base de datos lógica aprobada.
statusUtf8éxito o fracaso.
duration_msFloat64Duración de la operación de la base de datos de un extremo a otro en milisegundos.
rows_returnedInt64Filas devueltas o afectadas cuando el cliente expone el recuento.
releaseUtf8Versión de la aplicación que emitió la consulta.
environmentUtf8Entorno de implementación.
DataFusionSQL

Copiar la consulta

sql
SELECT
  query_fingerprint,
  service,
  database_name,
  COUNT(*) AS executions,
  SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END) AS slow_executions,
  100.0 * SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS slow_query_rate_pct,
  AVG(duration_ms) AS average_duration_ms,
  MAX(duration_ms) AS maximum_duration_ms
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
  AND environment = 'production'
GROUP BY query_fingerprint, service, database_name
HAVING COUNT(*) >= 10
ORDER BY slow_query_rate_pct DESC, executions 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

Tasa de consultas lentas por huella dactilar

La actualización de la factura es lenta en la mayoría de las ejecuciones, mientras que la consulta del catálogo permanece por debajo del umbral ilustrativo de un segundo.

query_fingerprintservicedatabase_nameexecutionsslow_executionsslow_query_rate_pctaverage_duration_msmaximum_duration_ms
UPDATE invoices SET status = ?billing-workerapp_production1088012501700
SELECT checkout WITH line_itemscheckout-apiapp_production126501012,51600
SELECT products BY categorycatalog-apicatalog_production1200330440

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

Slow-query rate by fingerprint: gráfico estático de valores sintéticos de slow_query_rate_pct del resultado del ejemplo Find Slow Database Queries by Fingerprint
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, reproducible 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. 1La huella digital es una etiqueta controlada por la aplicación, no un SQL sin formato. Eso limita la cardinalidad y evita capturar valores de parámetros.
  2. 2Una tasa distingue una operación de gran volumen ocasionalmente lenta de una operación que es lenta la mayor parte del tiempo.
  3. 3El recuento mínimo de ejecución evita que una única consulta fría domine la clasificación.

Casos extremos para decidir

  • Elija un umbral lento por carga de trabajo; un segundo es ilustrativo y puede ser demasiado alto para una solicitud interactiva.
  • La duración del cliente incluye la espera del grupo y el tiempo de la red, a menos que esas fases se registren por separado.
  • No registre parámetros de consulta sin formato, cadenas de conexión ni texto SQL sin restricciones.

Panel recomendado

  • Barras: slow_query_rate_pct por query_fingerprint
  • Tendencia: average_duration_ms por lanzamiento
  • Tabla: fallas más recientes para una huella digital y un servicio seleccionados

Guía de alerta

Alerta cuando una huella digital de gran volumen permanece por encima de su tasa de consulta lenta revisada para varios depósitos completos.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Definir los datos de origen

Esquemas de eventos para este análisis.

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