我剖析我的Rails 3.2的應用程序與miniprofiler所有請求查詢,它讓我在每一個頁面加載或Ajax調用的開始隨機「SELECT 1」在軌道上
SELECT 1
查詢。它只需要0.4ms,但它仍然是一個看似不必要的數據庫查詢。
任何人都知道爲什麼這個查詢正在發生或如何擺脫它?
我剖析我的Rails 3.2的應用程序與miniprofiler所有請求查詢,它讓我在每一個頁面加載或Ajax調用的開始隨機「SELECT 1」在軌道上
SELECT 1
查詢。它只需要0.4ms,但它仍然是一個看似不必要的數據庫查詢。
任何人都知道爲什麼這個查詢正在發生或如何擺脫它?
SELECT 1
就像是一個平 - 最廉價的查詢,以測試會話是否是活蹦亂跳。各種客戶使用它來達到這個目的。這可能對你的情況沒用...
對於Postgres你可以在這行Github找到它。或者,如果你使用MySQL,你可以在this groupon engineering blog看到解決方案。
那麼試圖消除它是有意義的嗎?這是所有rails/activerecord應用程序固有的嗎? – tyler
@tyler您需要查看Rails/ActiveRecord文檔。它可能在連接池選項中設置爲某種形式的「活性檢查」或「連接有效性檢查」。 –