2013-01-18 54 views
2

什麼是合理的性能水平,我應該期望查詢Sharepoint 2010中的一個非常大的列表?我的列表只有1000個項目,在觀察Sharepoint性能的幾天後,我仍然無法確定一個好的性能基準應該是什麼。Sharepoint 2010 - caml查詢性能期望

我正在開發的一個項目是使用Sharepoint 2010開始和設計的,其中列表佈局被構建爲關係數據庫。我認爲最初的期望是使用Sharepoint來充分利用開箱即用的搜索和版本控制功能,並使用spmetal和存儲庫模式進行數據檢索。我在負載下的性能非常糟糕(或者我認爲使用sql server的性能會非常糟糕)。使用Spmetal和20-30個用戶查詢1000個項目的列表需要10-15秒才能加載。我決定只是光着身子去看看我能得到什麼。以下是代碼。

SPQuery query = new SPQuery(); 
query.Query = "<View><ViewFields><FieldRef Name=\"ID\" /></ViewFields></View>"; 
query.ViewFieldsOnly = true; 
query.RowLimit = 1000; 
SPList list = web.Lists["Incidents"]; 
var items = list.GetItems(query).OfType<SPListItem>().ToArray(); 

項目計數:1000平均時間:1197個millseconds

這是不錯的表現?這只是一個調用,沒有其他同時查詢事件列表..沒有。

回答

0

是的,這是平均表現,至少對於一個農場來說都是一樣的。

+0

當前數據庫和應用程序是單獨的服務器。你有沒有額外的服務器提高性能的任何想法?我嘗試將列表字段編入索引無濟於事。 –

+0

我想,唯一的方法是優化查詢本身,並添加適當的索引到列表中。 – Leff