Compreender as estatísticas

Concluído

Quando uma consulta é executada, ela precisa criar um plano para decidir como acessar os dados. Por exemplo, se uma consulta SELECT retornar todas as linhas, não há nenhum benefício em usar um índice e seria mais eficiente verificar a tabela inteira. Nesse cenário, é simples planejar a consulta, mas a maioria dos planos de consulta não é tão simples de resolver.

Imagine um cenário em que você está executando uma consulta que pesquisou cada pedido entre R$ 10,00 e R$ 20,00. Inicialmente, não sabemos se são todos os dados ou um pequeno subconjunto, e por isso é difícil planejar a estratégia de consulta até vermos os dados. Se soubermos que a tabela contém pedidos que têm um preço de compra entre $1,00 e $800,00, isso pode levar-nos a usar um índice para procurar um pequeno subconjunto dos dados, no entanto, esta ainda não é informação suficiente para o nosso plano de consulta. Na verdade, embora os pedidos tenham um preço de compra entre $1.00 e $800.00, 95% dos pedidos estão entre $10.00 e $20.00 e uma verificação dos dados é realmente o plano mais eficaz.

Com cenários como o exemplo anterior, o PostgreSQL precisa de estatísticas detalhadas para poder usar o plano de consulta ideal.

Para monitorar as estatísticas de planejamento e execução, há uma extensão do PostgreSQL chamada pg_stat_statements. pg_stat_statements é habilitado por padrão no Banco de Dados do Azure para PostgreSQL e permite que os membros da função pg_read_all_stats consultem estatísticas usando várias exibições de pg_stat. A consulta a seguir retorna a atividade de consulta usando o modo de exibição pg_stat_activity :

SELECT * FROM pg_stat_activity;

Screenshot of pg_stat_activity query.

Desligando pg_stat_statements

Se suas consultas forem exclusivas e você não repetir a mesma consulta periodicamente, os dados históricos da consulta serão menos úteis. Além disso, se você não usar as visualizações pg_stat , elas não oferecem nenhum benefício. Há uma sobrecarga para manter o pg_stat_statements, que pode ser de até 50%, e você pode desativar o rastreamento de pg_stat_statements nesses cenários.

Para desativar o rastreamento de pg_stat_statements, execute as seguintes etapas:

  1. Vá para o portal do Azure e selecione seu Banco de Dados do Azure para o servidor PostgreSQL.
  2. Selecione Parâmetros do servidor e navegue até a configuração pg_stat_statements.track . Screenshot of pg_statements.track setting.
  3. Se quiser desativar o rastreamento, selecione NONE.
  4. Para um acompanhamento mais exato, selecione ALL.
  5. A configuração padrão é TOP.
  6. Selecione Guardar.