Por que a execução de SQL é lenta após o longo uso do GaussDB(DWS)?
Depois que um banco de dados é usado por um período de tempo, os dados da tabela aumentam à medida que os serviços crescem ou os dados da tabela são frequentemente adicionados, excluídos ou modificados. Como resultado, tabelas de inchaço e estatísticas imprecisas são incorridos, deteriorando o desempenho do banco de dados.
Recomenda-se que você execute VACUUM FULL e ANALYZE periodicamente em tabelas que são frequentemente adicionadas, excluídas ou modificadas. Realize as operações a seguir:
- Por padrão, 100 dos 30.000 registros de estatísticas são coletados. Quando uma grande quantidade de dados está envolvida, a execução de SQL é instável, o que pode ser causado por um plano de execução alterado. Nesse caso, a taxa de amostragem precisa ser ajustada para fins estatísticos. Você pode executar set default_statistics_target para aumentar a taxa de amostragem, o que ajuda o otimizador a gerar o plano ideal.
- Execute ANALYZE novamente. Para obter detalhes, consulte ANALYZE | ANALYSE.
Para testar se os fragmentos de disco afetam o desempenho do banco de dados, use a seguinte função:
SELECT * FROM pgxc_get_stat_dirty_tables(30,100000);