> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Encontrar consultas lentas ao banco de dados

Requisições e jobs em segundo plano podem ser lentos por vários motivos, mas uma causa comum são consultas lentas ao banco de dados. Tabelas grandes e índices ausentes podem fazer com que as consultas ao banco de dados demorem mais do que o necessário, aumentando o tempo de espera dos usuários do seu aplicativo.

O recurso Slow Queries do AppSignal facilita encontrar as consultas mais lentas de um aplicativo, para ajudar você a decidir quais consultas exigem otimização.

Você pode visualizar as consultas lentas do seu aplicativo [aqui][slow queries].

## Encontrando consultas lentas para Ruby, Elixir, Node.js e Python

Os tipos de eventos que podem ser encontrados na página Slow Queries estão listados abaixo.

* Elasticsearch
* MongoDB
* MySQL
* PostgreSQL
* Redis
* SQLite

Os eventos podem ser agrupados sob o nome do grupo de eventos do ORM (Object-relational mapping) para algumas integrações.

## Encontrando consultas lentas para OpenTelemetry

Para integrações baseadas em OpenTelemetry, procuramos spans com um determinado conjunto de atributos listados abaixo.

Para o **corpo da consulta**, procuramos os seguintes atributos em ordem:

* `db.query.text`
* `db.query.statement`
* `db.stored_procedure.name`

Um desses atributos deve estar presente e não estar vazio.

Para o **nome do sistema**, procuramos os seguintes atributos em ordem:

* `db.system.name`
* `db.system`

Se nenhum estiver presente, o sistema será exibido como `Unknown`.

Se seu aplicativo estiver reportando consultas em um atributo com nome diferente, ou você gostaria de personalizar os atributos reconhecidos, por favor [envie seu feedback](mailto:support@appsignal.com).

## Ordenando consultas

Por padrão, a lista de consultas lentas é ordenada por impacto: as consultas que consomem mais tempo, seja pela duração das consultas ou pela frequência com que são executadas.

Também é possível ordenar esta tabela por "Throughput", quantas vezes a consulta foi registrada, e "Mean", a duração média das consultas.

## Detalhes da consulta

<img src="https://mintcdn.com/appsignal-715f5a51/nF8c1Rwq1cS7b5hg/assets/images/screenshots/guides/slow_queries/slow-queries.png?fit=max&auto=format&n=nF8c1Rwq1cS7b5hg&q=85&s=7b4454afee7a54e163b9422a985096b1" alt="Screenshot dos detalhes da consulta" width="1380" height="856" data-path="assets/images/screenshots/guides/slow_queries/slow-queries.png" />

Você pode clicar em uma consulta para obter os seguintes insights:

* Consulta completa com título de evento opcional para mais contexto
* O resumo do evento de consulta ao banco de dados:
  * Duração média da consulta
  * Throughput, quantas vezes a consulta foi registrada
  * O impacto da consulta em porcentagem de todas as consultas ao banco de dados no intervalo de tempo selecionado.
* Gráfico de tempo de resposta
* Gráfico de throughput
* Ações e medições de desempenho em que o evento ocorreu:
  * Você pode ir diretamente para as ações e medições de desempenho em que o evento foi registrado para visualizar o impacto por requisição/job em segundo plano na linha do tempo de eventos de amostra.

[slow queries]: https://appsignal.com/redirect-to/app?to=improve/queries
