I produktionen kommer varje Rails-process att köra den frågan en gång för varje bord/modell den möter. Det är en gång per rails s
, inte per begäran:om du ser det upprepade gånger, skulle jag undersöka om dina processer startas om ofta av någon anledning.
För att eliminera dessa körtidsfrågor helt kan du skapa en schemacachefil på din server:
RAILS_ENV=production rails db:schema:cache:dump
(Rails 4:RAILS_ENV=production bin/rake db:schema:cache:dump
)
Det kommandot kommer att utföra frågorna omedelbart och sedan skriva deras resultat till en cachefil, som framtida Rails-processer kommer att ladda direkt istället för att inspektera databasen. Naturligtvis måste du sedan återskapa cachen efter eventuella framtida databasschemaändringar.