2013-04-23 51 views
1

我现在正在致力于共享点CAML查询。从一个巨大的资源库中获取一个给定名称的项目,这个资源库中充满了图像,文档,视频等。如何让共享点CAML查询更高效地工作

我不知道sharepoint索引名称列。我正在考虑使用嵌套查询来加快查询速度。

这里我的问题是: Sharepoint查询如何工作?先执行外层,还是从内层开始?

我想先过滤ResourceType(图像,文档..)。然后过滤该类别,最后取出与该名称匹配的项目。查询波纹管的工作方式与我需要的一样?

<Where> 
     <And> 
      <Eq><FieldRef Name='IR_ResourcesType' /> 
       <Value Type='Text'>Image</Value></Eq> 
       <And> 
       <Eq><FieldRef Name='IR_Category' /> 
        <Value Type='Text'>All</Value> 
       </Eq> 
       <Eq> 
        <FieldRef Name='FileLeafRef' /> 
        <Value Type='File'>aaa</Value> 
       </Eq> 
      </And> 
      </And> 
     </Where> 

回答

0

如果可以,请尝试索引列表中的某个唯一列,以便稍后可以在您的where子句中查询时使用它。

作为最佳实践,我们也应该只是获取我们将要使用的列,以免没有数据自助餐。您可以通过使用viewField来限制要显示的列。

这是一个link,它显示了CAML与SPServices结合使用的一些技巧和窍门,我认为您可能会发现它们很有用。