본문 바로가기
개발 Tip

SPQuery와 Lambda의 처리속도 비교

Lambda식을 사용하여 SharePoint Data를 가져올 때, 아래와 같이 SPQuery를 사용할 때보다 개발코드가 깔끔한 것을 볼 수 있습니다.

using (SPSite site = new SPSite("http://www.xxxx.com"))

{

using (SPWeb web = site.OpenWeb())

{

SPList list = web.Lists["Performance"];

var listItems = list.Items.Where(li => Int32.Parse(li["Number"].ToString()) >= 50);

}

}

 

하지만 깔끔한 코드만큼 Performance도 좋을까요?

아래 SPQuery와 Lambda의 처리속도 비교한 자료를 참조하시면 많은 도움이 되실겁니다.

 

 

1. 모든 목록 항목을 반복하여 SharePoint 목록을 조회

  • Comparing to SPQuery it’s 300 times (!) slower.

 

 

 

2. 하나의 특정 목록에서 조회

  • the SPQuery performs almost 20 times faster.

 

3. 목록 항목의 컬렉션을 반복 조회

  • Lambda 대신 foreach 통한 루프를 사용하는 것이 좋다

 

결론,

Lambda식은 코드를 깨끗이 사용하고자 때만 사용하자.

 

http://blog.mastykarz.nl/lambda-expressions-querying-sharepoint-data/