문제

SpFolder가 존재하는 경우 결과를 제공하는 CAML 쿼리가 있습니다. Item.Count를 수행 할 때 실행할 줄에는 2 초가 걸리지 않습니다.쿼리를 실행하는 데 오랜 시간이 걸리는 것은 무엇입니까?

SPQuery query = new SPQuery();
query.Query = "<Where><And><Eq><FieldRef Name='LinkTitle'/><Value Type='Text'>" +         folderName + "</Value></Eq><Eq><FieldRef Name='FSObjType'/><Value Type='Lookup'>1</Value></Eq></And></Where>";
query.ViewAttributes = "Scope=\"RecursiveAll\"";

//Retrieve the items based on Query                
SPListItemCollection items = list.GetItems(query);
                                //if (!folderExists)
if (items.Count == 0)
{
//Operation
}
.

도움이 되었습니까?

해결책

여기에 몇 개의 필드가 있습니까?표준 문서 라이브러리이거나 추가 메타 데이터를 추가 했습니까?그것이 정상이더라도 문제의 모든 필드를 끌어 내려면 이 필요합니까?쿼리의 ViewFields 속성을 수정하여 필요한 항목 만 반환하십시오.그렇지 않으면 모든 폴더 ( "RecursivEall"범위 속성)를 탐색하고 있습니다.대형 라이브러리가있는 경우, 특히 많은 수준의 수준이있는 경우, 그건 잠시 시간이 걸릴 수 있습니다.반면에 항목이있을 수있는 폴더에 대한 좋은 아이디어가 있으면 검색을 단일 하위 폴더로 절단하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top