首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPQuery中的ViewField顺序会影响性能

SPQuery中的ViewField顺序会影响性能
EN

Stack Overflow用户
提问于 2015-12-02 03:37:18
回答 1查看 142关注 0票数 0

在编写SPQuery和指定ViewFields时,我遇到了一个奇怪的问题。我需要八个字段。其中五个已编入索引。

我的问题是,根据我指定这些ViewFields的顺序,查询的性能会发生很大的变化。

这里有两个场景:

1:

代码语言:javascript
复制
<FieldRef Name="OrderNumber" />
<FieldRef Name="Title" />
<FieldRef Name="OrderCreateDate" />
<FieldRef Name="OrderEstimatedDeliveryDate" />
<FieldRef Name="OrderStatus" />
<FieldRef Name="OrderOO" />
<FieldRef Name="OrderSiteID" />
<FieldRef Name="ID" />

2:

代码语言:javascript
复制
<FieldRef Name="OrderNumber" />
<FieldRef Name="Title" />
<FieldRef Name="OrderCreateDate" />
<FieldRef Name="OrderEstimatedDeliveryDate" />
<FieldRef Name="OrderSiteID" />
<FieldRef Name="OrderStatus" />
<FieldRef Name="OrderOO" />
<FieldRef Name="ID" />

已编制索引的字段包括:

代码语言:javascript
复制
OrderNumber
Title
OrderCreateDate
OrderSiteID
OrderStatus

在第一个顺序中使用ViewFields运行查询时,需要4.7秒。在第二个顺序中运行查询需要62秒。当我测试时,查询的其他内容没有改变。

查询返回大量数据,所以我不认为它会很快,但是为什么更改ViewFields的顺序会有如此大的影响,有人能帮上忙吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-12-02 06:09:41

我的猜测是因为SharePoint数据库(即AllItems表)的性质,它实际上是执行多个连接,以便‘构建’列表的列。

例如,在具有以下数据分布的列表中,sharepoint按BAC顺序显示数据所需的时间要比ABC长

列表

代码语言:javascript
复制
   A   B   C
---------------
|    | K1 |    |
| N1 |----|    |
|    | K2 |    |
|----|----|    |
|    |    |    |
|    | K1 | Z1 |
| N2 |    |    |
|    |----|    |
|    | K2 |    |
|    |----|    |
|    | K3 |    |
|----|----|    |
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34028644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档