【问题标题】:Sharepoint Fetch dataSharepoint 获取数据
【发布时间】:2013-01-31 01:51:19
【问题描述】:

我有包含数千个数据的共享点列表。如果我在 caml 查询生成器中执行查询,则需要一秒钟才能获取数据。当我尝试使用 spservice / c# 代码在 sharepoint 中获取数据时,执行该查询需要 15 秒。为什么会有这么多不同。任何人都可以建议。

我正在使用 SPService js 来获取数据。我使用的代码是:

var querySkill = "<Query><Where><And><Eq><FieldRef Name='User_x003a_ID' /><Value Type='Lookup'>"+rowUserId+"</Value></Eq><And><Eq><FieldRef Name='Role_x003a_ID' /><Value Type='Lookup'>"+rowRoleId+"</Value></Eq><And><Eq><FieldRef Name='Skill_x0020_Category_x003a_ID' /><Value Type='Lookup'>"+rowCategoryId+"</Value></Eq><Eq><FieldRef Name='Skill_x0020_Group_x003a_ID' /><Value Type='Lookup'>"+rowGroupId+"</Value></Eq></And></And></And></Where></Query>"
        var camlViewFieldsSkill = "<ViewFields><FieldRef Name='Fulfillment' /></ViewFields>";
        var groupPer;
        var groupArray = new Array();
        $().SPServices({
            operation: "GetListItems",
            async: false,
            listName: "User Skills",
            CAMLQuery: querySkill,
            CAMLViewFields: camlViewFieldsSkill,
            completefunc: function (xData, Status) {
                $(xData.responseXML).find("z\\:row, row").each(function () {
                  var skillId = $(this).attr("ows_ID");
                  var skillName=$(this).attr("ows_Skill").split("#")[1];
                  var fulfilment=$(this).attr("ows_Fulfillment");
                    $(subGridSkill).jqGrid('addRowData', skillId, { id: skillId, skillid: skillId, skill:skillName, skillfulfillment: fulfilment });

                });

            }
        });

即使我正在编写服务器端代码,也需要 15-20 秒才能获取数据。请帮忙

问候 普里亚

【问题讨论】:

  • 取决于您的编码方式,您是否使用caml来获取代码中的结果?您是在使用 SP 的客户端对象模型还是服务器端对象模型?可以发一些相关的代码吗?
  • 同意@Flowerking,代码示例和一点架构是回答这个问题的关键
  • 我已经编辑了我的问题并添加了代码块。谢谢..
  • 我的列表有数千条记录。但是我的查询只返回 10 条记录,而获取数据需要 15 秒...

标签: sharepoint sharepoint-2010


【解决方案1】:

不确定为什么在 CAML 构建器中您的查询速度很快。可以加快查询速度的方法是为您用于搜索的字段编制索引:

http://msdn.microsoft.com/en-us/library/ff798465.aspx

【讨论】:

    【解决方案2】:

    这里是link,解释了使用 SPServices 和 CSOM 之间的区别,其中还包括它们的优点和缺点。

    也许 CAML 构建器使用 RESTful Web 服务,这可能会影响您的查询性能,我们都知道 javascript/jquery 存在性能问题。

    您可能想尝试转换为 CSOM 并检查它是否会影响代码的性能。如果您需要示例代码块,请告诉我,我很乐意为您编写一个。

    【讨论】:

      猜你喜欢
      • 2022-08-19
      • 2018-01-24
      • 1970-01-01
      • 2021-11-12
      • 2021-09-23
      • 1970-01-01
      • 2016-01-02
      • 2015-12-03
      • 1970-01-01
      相关资源
      最近更新 更多