In der Produktion führt jeder Rails-Prozess diese Abfrage einmal aus für jede Tabelle/Modell, auf die es trifft. Das ist einmal pro rails s
, nicht auf Anfrage:Wenn Sie es wiederholt sehen, würde ich untersuchen, ob Ihre Prozesse aus irgendeinem Grund häufig neu gestartet werden.
Um diese Laufzeitabfragen vollständig zu eliminieren, können Sie eine Schema-Cache-Datei generieren auf Ihrem Server:
RAILS_ENV=production rails db:schema:cache:dump
(Rails 4:RAILS_ENV=production bin/rake db:schema:cache:dump
)
Dieser Befehl führt die Abfragen sofort aus und schreibt dann ihre Ergebnisse in eine Cache-Datei, die zukünftige Rails-Prozesse direkt laden, anstatt die Datenbank zu inspizieren. Natürlich müssen Sie den Cache dann nach zukünftigen Änderungen des Datenbankschemas neu generieren.