Compreender as estatísticas
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 a consulta retorna todos os dados da tabela ou apenas um pequeno subconjunto. Essa incógnita dificulta o planejamento da 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, um índice pode ser usado para procurar um pequeno subconjunto dos dados. No entanto, ainda pode não haver informações suficientes para gerar o plano de consulta adequado. Neste exemplo, 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;
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:
Vá para o portal do Azure e selecione seu Banco de Dados do Azure para o servidor PostgreSQL.
Selecione Parâmetros do servidor e navegue até a configuração pg_stat_statements.track .
Se quiser desativar o rastreamento, selecione NONE.
Para um acompanhamento mais exato, selecione ALL.
A configuração padrão é TOP.
Selecione Guardar.