2013-04-23 2 views
1

Теперь я работаю над запросом CAML с sharepoint. для извлечения элемента по заданному имени из огромной библиотеки ресурсов, полной изображений, документов, видео и т. д.как сделать sharepoint CAML-запрос работает более эффективно

Я не знал, есть ли указатель sharepoint столбца Name. Я пытаюсь использовать вложенный запрос, чтобы сделать этот запрос быстрее.

Мой вопрос: Как работает запрос 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

Если вы можете, попробуйте индексировать один из уникальных столбцов в списке, так что вы можете использовать его в дальнейшем для выполнения запросов в вашем где предложение.

Как наилучшая практика, мы также должны просто получить колонки, которые мы будем использовать, чтобы не иметь буфером данных. Вы можете ограничить столбцы, которые будут отображаться, используя viewFields.

Вот link, который показывает некоторые советы и рекомендации для CAML в сочетании с SPServices, которые, как я думаю, вам может пригодиться.

Смежные вопросы