Dalam produksi, setiap proses Rails akan menjalankan kueri tersebut sekali untuk setiap tabel/model yang ditemuinya. Itu sekali per rails s
, bukan per permintaan:jika Anda melihatnya berulang kali, saya akan menyelidiki apakah proses Anda sering dimulai ulang karena suatu alasan.
Untuk menghilangkan kueri runtime tersebut sepenuhnya, Anda dapat membuat file cache skema di server Anda:
RAILS_ENV=production rails db:schema:cache:dump
(Rails 4:RAILS_ENV=production bin/rake db:schema:cache:dump
)
Perintah itu akan segera melakukan kueri, dan kemudian menulis hasilnya ke file cache, yang akan langsung dimuat oleh proses Rails di masa mendatang alih-alih memeriksa database. Secara alami, Anda kemudian perlu membuat ulang cache setelah ada perubahan skema database di masa mendatang.