PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment réparer une requête implicite lente sur la table pg_attribute dans Rails

En production, chaque processus Rails exécutera cette requête une fois pour chaque table/modèle qu'il rencontre. C'est une fois par rails s , et non par demande :si vous le voyez à plusieurs reprises, je vérifierais si vos processus sont redémarrés fréquemment pour une raison quelconque.

Pour éliminer complètement ces requêtes d'exécution, vous pouvez générer un fichier de cache de schéma sur votre serveur :

RAILS_ENV=production rails db:schema:cache:dump

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

Cette commande exécutera les requêtes immédiatement, puis écrira leurs résultats dans un fichier cache, que les futurs processus Rails chargeront directement au lieu d'inspecter la base de données. Naturellement, vous devrez ensuite régénérer le cache après toute modification future du schéma de la base de données.