2009-06-11 125 views
2

我有一个列表,其中包含约3000个项目。编辑页面将永久加载,但网站的其他部分很快。我认为这与在页面上使用查找列和使用多选下拉菜单相关,但在替换之后,我没有看到任何区别。自定义Sharepoint列表添加/编辑页面加载缓慢

该页面大约118kb,需要大约5分钟才能加载。

关于如何加速或解决问题的任何想法?

如果您对ASP.NET或IIS有任何建议(更快/更慢地回收应用程序池)更改,请通知我。

回答

2

在SharePoint中处理列表时,应遵循最佳做法以确保可接受的性能。我不认为您遇到的问题不是由列表中的项目数量引起的,而是由您用于处理它们的UI的限制(添加和编辑页面)引起的。

如果您需要使用添加和编辑页面,您应该坚持2000个项目的限制。您始终可以将其他文件夹添加到列表中,并以此方式增加列表中保存的项目数量。

如果您确实需要列表中的更多项目,则应考虑为列表实现自己的UI并使用SPQuery或使用其他方法查询结果。在这种情况下,您将不会遇到相同的性能问题,并且可能会持有100.000个物品。

微软发布了一份白皮书,其中包含了一个用于处理SharePoint列表的性能测试结果。这里是一个白皮书的链接,名为Working with large lists in Office SharePoint® Server 2007

2

列表中确实不应该包含那么多项目,作为最佳实践。我会努力将您的列表重构为更易于管理的东西。

如果你真的必须处理这个大名单中,我会考虑输出缓存

http://technet.microsoft.com/en-us/library/cc298466.aspx

+0

好的。有没有办法缓存JUST该列表的添加和编辑页面? – AboutDev 2009-06-11 21:05:43

+0

我不认为这是物理添加/编辑页面本身导致的性能问题。事实上,每当您打开编辑页面时,正在执行CAML查询以获取与列表项目相关的元数据(查看edititem.aspx页面的查询字符串,您应该看到一个大的GUID引用单个项目该列表) – 2009-06-11 21:20:59

+0

我有超过3000个项目在其中的列表。我怀疑你的问题的数量是你的问题。 – 2009-06-12 04:07:38

1

你有没有在SharePoint Designer中打开添加/编辑页面,看它是否已被定制某种方式?也许这会给你一些线索。

您可以随时在列上播放索引,但我不明白这有什么用处。用于编辑的ID列应自动编入索引,并且它们对于导航到添加屏幕应该没有任何影响。

2

我的修复方法是隐藏查找列,该查找列在具有200,000个以上项目的列表上进行查找。加载editform.aspx的时间从平均1分15秒降到2-3秒。