2013-01-18 6 views
2

Sharepoint 2010의 매우 큰 목록을 쿼리 할 때 예상해야하는 적절한 수준의 성능은 무엇입니까? 내 목록은 단지 1000 항목이며 SharePoint 성능 dos와 don'ts에서 나는 좋은 성능 벤치 마크가 무엇인지 판단 할 수 없었다.Sharepoint 2010 - caml 쿼리 성능 기대

내가 작업하고있는 프로젝트가 시작되었고 관계형 데이터베이스로 구조화 된 목록 레이아웃으로 Sharepoint 2010을 사용하여 디자인되었습니다. 원래의 기대는 SharePoint 검색 및 버전 관리 기능을 활용하고 데이터 검색을 위해 spmetal 및 저장소 패턴을 사용하기 위해 Sharepoint를 사용하는 것이 었습니다. 내가로드 (또는 내가 SQL 서버를 사용하는 데 사용되는 것처럼 끔찍한 성능이 될 것이라고 생각하는 것)에서 끔찍한 성능을 가지고있다. 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

관련 문제