的數據庫負載,我決定去看看到數據庫使用情況SilverStripe爲我建立一個相當大的網站,並希望確保它可以正確縮放。簡單的頁面
我有一個頁面,多數民衆贊成在此刻很簡單,但理解有一些查詢來構建它。我打開了我的數據庫日誌記錄來查看正在請求的內容。
,我認爲可能是有問題的(那些我)的查詢是不是經常,但數據庫中有大約50查詢與此類似:
SELECT conname,pg_catalog.pg_get_constraintdef(r.oid, true)
FROM pg_catalog.pg_constraint r WHERE r.contype = 'c' AND conname = $1 ORDER BY 1;
約10查詢該SiteTree約10或會員。現在,這不是一個問題,但如果每個頁面加載大約100個查詢(還有其他的查詢),我將在啓動時遇到一些問題。
請告訴我造成所有這些疑問?我能做些什麼來降低它們,特別是上面的那個。
而且,如果我做的:
$data = DataObject::get()->filter('field1' => 'value1');
if ($data->exists()) {
$one = $data->filter('field2' => 'value2');
// do something
$two = $data->filter('field2' => 'value3')->First();
echo $two->Has_One_Field()->Field //accessing a has_one relationship
//do something
}
這會否導致4個疑問或只是一個和其他兩個過濾器只搜索DataList
這就是已經生產出來的?
聽起來很像我過早的優化。您是否確定/測試過這些查詢是性能瓶頸? – bummzack
@bummzack不,但我發現如果性能留到最後,你可能會造成效率低下。 – Rudiger