I produktionen vil hver Rails-proces køre denne forespørgsel én gang for hver tabel/model den støder på. Det er én gang pr. rails s
, ikke efter anmodning:Hvis du ser det gentagne gange, vil jeg undersøge, om dine processer bliver genstartet ofte af en eller anden grund.
For at eliminere disse runtime-forespørgsler helt kan du generere en skemacachefil på din server:
RAILS_ENV=production rails db:schema:cache:dump
(Rails 4:RAILS_ENV=production bin/rake db:schema:cache:dump
)
Denne kommando vil udføre forespørgslerne med det samme og derefter skrive deres resultater til en cache-fil, som fremtidige Rails-processer vil indlæse direkte i stedet for at inspicere databasen. Naturligvis skal du genskabe cachen efter eventuelle fremtidige databaseskemaændringer.