성능 : 캠프 쿼리가 오래 걸리거나 다른 것을 사용해야합니다.
-
10-12-2019 - |
문제
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"범위 속성)를 탐색하고 있습니다.대형 라이브러리가있는 경우, 특히 많은 수준의 수준이있는 경우, 그건 잠시 시간이 걸릴 수 있습니다.반면에 항목이있을 수있는 폴더에 대한 좋은 아이디어가 있으면 검색을 단일 하위 폴더로 절단하는 것이 좋습니다.
제휴하지 않습니다 sharepoint.stackexchange