PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como corrigir uma consulta implícita lenta na tabela pg_attribute no Rails


Na produção, cada processo do Rails executará essa consulta uma vez para cada tabela/modelo que encontrar. Isso é uma vez por rails s , não por solicitação:se você estiver vendo isso repetidamente, eu investigaria se seus processos estão sendo reiniciados com frequência por algum motivo.

Para eliminar totalmente essas consultas de tempo de execução, você pode gerar um arquivo de cache de esquema no seu servidor:
RAILS_ENV=production rails db:schema:cache:dump

(Rails 4:RAILS_ENV=production bin/rake db:schema:cache:dump )

Esse comando executará as consultas imediatamente e, em seguida, gravará seus resultados em um arquivo de cache, que os futuros processos do Rails carregarão diretamente em vez de inspecionar o banco de dados. Naturalmente, você precisará regenerar o cache após qualquer alteração futura do esquema do banco de dados.