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.