AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 301747
Accepted
Sebastian Riemer
Sebastian Riemer
Asked: 2021-10-28 01:11:26 +0800 CST2021-10-28 01:11:26 +0800 CST 2021-10-28 01:11:26 +0800 CST

Postgres 12 - em quais circunstâncias devo ativar o coletor de estatísticas de consulta e índice

  • 772

TL;DR - Não tenho o coletor ativado (ainda) e parece não ser o padrão; quão ruim é isso e devo ativá-lo?

  • Acabei de criar um novo índice em uma tabela onde uma consulta estava lenta.

  • Eu fiz isso executando Explaina consulta e criando índices em várias combinações das colunas das tabelas/consultas.

  • Perdi os índices que não estavam sendo usados ​​depois de correr Explainnovamente, mantendo o que foi usado

  • Então decidi verificar as estatísticas reunidas para aquela tabela. Acontece que SELECT schemaname, relname, last_analyze FROM pg_stat_all_tables WHERE relname = '<MY TABLE>';estava retornando NULL como para a última análise.

  • Verificando o postgresql.confeu identifiquei que atualmente não estou analisando nada...

...
#------------------------------------------------------------------------------
# STATISTICS
#------------------------------------------------------------------------------

# - Query and Index Statistics Collector -

#track_activities = on
#track_counts = on
#track_io_timing = off
#track_functions = none         # none, pl, all
#track_activity_query_size = 1024   # (change requires restart)
#stats_temp_directory = 'pg_stat_tmp'
...

Minhas perguntas

  1. O planejador de consultas ainda tem inteligência suficiente para saber quando ir para um índice versus fazer uma varredura de tabela completa etc.?
  2. Quando se deve considerar a ativação do Coletor de Estatísticas de Consulta e Índice? (Sempre, apenas em certas circunstâncias, ...)
postgresql statistics
  • 2 2 respostas
  • 91 Views

2 respostas

  • Voted
  1. Best Answer
    Laurenz Albe
    2021-10-28T06:39:32+08:002021-10-28T06:39:32+08:00

    O coletor de estatísticas já está ativado, não se preocupe.

    Observe que as estatísticas que o coletor de estatísticas reúne não são estatísticas de tabela que o otimizador usa, mas dados sobre a carga de trabalho do banco de dados.

    As estatísticas da tabela são coletadas por autovacuum, que também é habilitado por padrão.

    Existe uma conexão entre ambos, em que o autovacuum conta com as estatísticas coletadas pelo coletor de estatísticas para saber quando deve ANALYZEuma tabela.

    • 0
  2. jjanes
    2021-10-28T08:37:33+08:002021-10-28T08:37:33+08:00

    Você está confuso com as configurações no arquivo conf que está sendo comentado? Ser comentado não significa que está desativado, significa que tem seu valor padrão compilado, que é onpara track_activities e track_counts. (Eu também ativaria track_io_timings - não é usado pelo planejador, mas fornece boas informações para você).

    Os dados em "pg_stat_all_tables" não são muito duráveis. Ele é perdido toda vez que o servidor trava ou sofre um desligamento imediato, ou pg_stat_reset() é chamado. Agora, todas essas coisas devem ser muito raras em um servidor de produção, mas talvez você não esteja usando um servidor de produção para seus testes e, de qualquer forma, elas nem sempre são tão raras quanto deveriam ser. Se você olhar para pg_stats em vez disso, isso lhe dará uma ideia melhor se a análise realmente já foi executada na mesa.

    • 0

relate perguntas

  • Posso ativar o PITR depois que o banco de dados foi usado

  • Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo

  • Os procedimentos armazenados impedem a injeção de SQL?

  • Sequências Biológicas do UniProt no PostgreSQL

  • Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve