sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo corregir una consulta implícita lenta en la tabla pg_attribute en Rails

En producción, cada proceso de Rails ejecutará esa consulta una vez para cada mesa/modelo que encuentre. Eso es una vez por rails s , no por solicitud:si lo ve repetidamente, investigaría si sus procesos se reinician con frecuencia por algún motivo.

Para eliminar esas consultas en tiempo de ejecución por completo, puede generar un archivo de caché de esquema en su servidor:

RAILS_ENV=production rails db:schema:cache:dump

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

Ese comando realizará las consultas de inmediato y luego escribirá sus resultados en un archivo de caché, que los futuros procesos de Rails cargarán directamente en lugar de inspeccionar la base de datos. Naturalmente, deberá volver a generar la memoria caché después de cualquier cambio futuro en el esquema de la base de datos.