उत्पादन में, प्रत्येक रेल प्रक्रिया उस क्वेरी को एक बार चलाएगी प्रत्येक तालिका/मॉडल के लिए इसका सामना करना पड़ता है। यह एक बार प्रति rails s
. है , अनुरोध के अनुसार नहीं:यदि आप इसे बार-बार देख रहे हैं, तो मैं जांच करूंगा कि आपकी प्रक्रियाओं को किसी कारण से बार-बार पुनरारंभ किया जा रहा है या नहीं।
उन रनटाइम क्वेरी को पूरी तरह से खत्म करने के लिए, आप एक स्कीमा कैश फ़ाइल जेनरेट कर सकते हैं। आपके सर्वर पर:
RAILS_ENV=production rails db:schema:cache:dump
(रेल 4:RAILS_ENV=production bin/rake db:schema:cache:dump
)
वह आदेश तुरंत प्रश्नों को निष्पादित करेगा, और उसके बाद उनके परिणाम कैश फ़ाइल में लिखेंगे, जो भविष्य में रेल प्रक्रियाएं डेटाबेस का निरीक्षण करने के बजाय सीधे लोड हो जाएंगी। स्वाभाविक रूप से, आपको भविष्य में किसी भी डेटाबेस स्कीमा परिवर्तन के बाद कैश को पुन:उत्पन्न करने की आवश्यकता होगी।