W środowisku produkcyjnym każdy proces Railsowy uruchomi to zapytanie raz dla każdego napotkanego stołu/modelu. To raz na rails s
, a nie na żądanie:jeśli widzisz to wielokrotnie, sprawdzę, czy z jakiegoś powodu Twoje procesy są często ponownie uruchamiane.
Aby całkowicie wyeliminować te zapytania w czasie wykonywania, możesz wygenerować plik schematu pamięci podręcznej na Twoim serwerze:
RAILS_ENV=production rails db:schema:cache:dump
(Rails 4:RAILS_ENV=production bin/rake db:schema:cache:dump
)
To polecenie natychmiast wykona zapytania, a następnie zapisze ich wyniki do pliku pamięci podręcznej, który przyszłe procesy Railsowe będą bezpośrednio ładować zamiast sprawdzać bazę danych. Oczywiście po każdej przyszłej zmianie schematu bazy danych będziesz musiał ponownie wygenerować pamięć podręczną.