PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come correggere una query implicita lenta sulla tabella pg_attribute in Rails

In produzione, ogni processo Rails eseguirà quella query una volta per ogni tavolo/modello che incontra. Questa è una volta per rails s , non per richiesta:se lo vedi ripetutamente, esaminerei se i tuoi processi vengono riavviati frequentemente per qualche motivo.

Per eliminare completamente queste query di runtime, puoi generare un file cache schema sul tuo server:

RAILS_ENV=production rails db:schema:cache:dump

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

Quel comando eseguirà immediatamente le query e quindi scriverà i risultati in un file di cache, che i futuri processi Rails caricheranno direttamente invece di ispezionare il database. Naturalmente, dovrai quindi rigenerare la cache dopo eventuali future modifiche allo schema del database.