[英]debugging a rails controller making too many queries
我有一個大約3歲的rails應用程序,我的頁面有太多查詢問題。 每個加載的頁面都有幾行如下所示:
ReqTdsLink Columns (1.0ms) SHOW FIELDS FROM `req_tds_links`
什么樣的方法調用會導致日志中的輸出? 我在應用程序控制器中找不到任何可能導致此問題的過濾器或其他任何內容,但我還沒有檢查所有視圖(數量上是天文數字)我希望之前有特定要查找的內容我開始手動掃描每個文件以查找可能導致此問題的內容。
謝謝,
-C
您是在開發或生產模式下運行嗎?
如您所述, SHOW FIELDS FROM foo
由您的模型完成,因此它知道要生成哪些存取方法。
在開發模式下,每次請求都會執行此操作,因此您無需經常重新加載Web服務器,但在生產模式下,即使您運行的是三年前版本的Rails,也應緩存此信息。
這由ActiveRecord調用,從數據庫中讀取模型的屬性。 它不會在生產中多次發生,但在開發模式下,Rails每次都會查詢表以獲取可能發生的任何更改。
如果您再次遇到此類問題並需要跟蹤查詢的調用方式,我建議使用查詢跟蹤插件: http : //github.com/ntalbott/query_trace/tree/master 。 它為每個SQL查詢添加了一個堆棧跟蹤到日志。 非常便利。
這行實際上來自調用模型,我在應用程序控制器中有一個看起來像[Model1,Model2,Model3]的數組,我把它改成看起來像['Model1','Model2','Model3']並修復了所有額外的電話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.