使用所有 SharePoint 版本的列表视图阈值限制
使用索引和筛选视图来控制数据并提高性能
规划和创建索引并在筛选器中使用索引可将项数保持在列表视图阈值以下。 有关详细信息,请参阅向列表或库列添加索引或使用筛选修改 SharePoint 视图。
在以下两种情况下,会自动创建索引:
-
保存的视图具有用于排序或筛选的列时。
-
在现代体验中排序时。
注意: 在现代体验中排序时自动创建索引仅限于项少于 20,000 个的列表和库。 如果项数大于 20,000 个,则会在后台创建索引。 索引正在构建中时,“索引列”页将显示“正在编制索引”。
对于 SharePoint Server,如果列表视图阈值阻止了您,但项目总数小于 20,000,则可以向 SharePoint 2019 中的列添加索引。
在所有版本的 SharePoint 上,都可以创建带有列索引的筛选视图来帮助减少处理大型列表和库时得出的结果数。 创建包含索引列的筛选视图的过程分为两步:
-
为列创建索引。
-
创建使用索引列筛选视图的视图。
有关为列编制索引的详细信息,请参阅 向列表或库列添加索引。
有关筛选列的详细信息,请参阅使用筛选修改 SharePoint 视图。
编辑列表视图
如果在处理大型列表时发生错误,请编辑列表视图。
以下四项更改将删除列表视图阈值错误。 执行所有四项更改以删除所有错误。
从“先按列排序”和“按列排序”中,选择“无”。
注意: 具有人员、查找或托管元数据等列类型的列在排序时可能会导致列表视图阈值错误。 但是,可以在第一个排序中使用文本、数字、日期和其他列类型。
从“按列先分组”和“按列分组”中,选择“无”。
对于“总计”部分中的所有列,请选择“无”。
在“列”部分中,检查显示所需的列数。
注意: 显示以下类型的 12 列或更多列可能会导致列表视图阈值错误:人员、查找和托管元数据。 不会显示其他类型的列。
使用文件夹进行组织
虽然使用大型列表和库无需文件夹,但仍可使用文件夹来整理数据,提高数据访问效率。 默认情况下,会在文档库中启用创建文件夹,但不会在列表中启用。 有关详细信息,请参阅在列表中创建文件夹 o 或在文档库中创建文件夹。
有关使用文件夹的信息
注意:
-
使用 SharePoint 时,如果使用“移动到”命令或拖放,则也会移动现有元数据。
-
可以使用文件夹有效地组织数据,但应注意不要对文件夹的查询返回超过列表视图阈值。
-
如前所述,筛选视图有助于减少低于列表视图阈值的可能结果数。 但是,如果将项目移动到 SharePoint 回收站中,在确定筛选器表达式是否超过列表视图阈值时,这些项仍会计数。 如果清空回收站,则不再计入这些项目。 有关详细信息,请参阅删除项目或清空 SharePoint 网站的回收站。
创建文件夹时,会在后台创建内部索引。 还会为根文件夹或列表或库的顶层创建此内部索引。 访问文件夹中的项目时,可以有效地使用此内部索引来访问数据。 请记住,如果文件夹包含子文件夹,则会将每个子文件夹计为一个项目(但不是该子文件夹中的所有项目)。
即使是在列表或库中项目总数很大的情况下,单个文件夹视图的速度至少与使用索引列筛选项目总数的视图的速度相当。 在某些情况下,可能会将列表或库中的所有项目分发到多个文件夹中,这样任何文件夹的项目数都超过 5,000 个。
使用文件夹组织大型列表或库时,请务必考虑以下事项:
-
文件夹可以包含超过列表视图阈值的项目,但为了避免被阻止,可能仍需要使用基于列索引的筛选视图。
-
如果在创建或修改此列表或库中的视图时,选择“文件夹”部分中的“显示所有项目没有文件夹”选项,则必须使用基于简单索引的筛选器,以确保不会达到列表视图阈值。
-
使默认视图在不进行任何筛选的情况下显示所有可用文件夹通常很有用,以便用户可以在插入新项目时选择相应的文件夹。 通过显示所有文件夹,还可以降低错误地将项目添加到列表或库中的文件夹之外的几率。 与库不同,没有自动方式在列表中的文件夹之间移动项目。
若要在库中的文件夹之间移动文件,请参阅在 SharePoint 中移动或复制文件。
同步和脱机数据
脱机数据允许使用 Excel 或 Access 查询列表数据不受限制。 同步文档文件夹时,可以在计算机上本地工作,并且更改会自动更新到服务器。 有关详细信息,请参阅将 SharePoint 文件与 OneDrive 同步 客户端同步 (Groove.exe) 或与计算机同步 SharePoint 和 Teams 文件。
脱机同步、外部数据和 Access 数据管理
将数据脱机可便于有效地与计算机同步。 可以使用 Excel、Access 或 Outlook,具体取决于正在处理的列表数据。 根据 SharePoint 服务,还可将无限制的外部数据管理与企业资源计划 (ERP) 系统、OData 和 Web 服务共同使用。
使用脱机同步
你可以在台式电脑或笔记本电脑上进行更改,并在将数据恢复联机时,以平稳高效的方式同步所做更改并解决冲突。 通过使用脱机同步来“清理”、分析或报告数据,处理大型列表有助于卸载数据库活动,并最大程度地减少对 SharePoint 资源的使用。
可以使用多个 Microsoft 365 产品使列表数据脱机,并在恢复联机时同步更改。 若要导出到这些应用,需要安装应用(Microsoft 365 或 Office 桌面版)。
使用 Microsoft Access 进行脱机同步
Access 可以处理比 SharePoint 更多行的数据,并且你拥有许多强大的工具来操作这些数据。 处理 Access 中的数据并与 SharePoint 同步可让你处理更大的数据集。
可以通过链接来读取和写入 Access 中的大多数本机列表,并且 Access 适用于几乎所有 SharePoint 数据类型。 通过链接,可以连接到 SharePoint 列表中的数据,以便创建双向连接来查看和编辑 SharePoint 列表和 Access 数据库中的最新数据。 Access 创建 (的副本,或) Access 表中的 SharePoint 列表进行复制。 创建 Access 表后,可以使用 Access 中的列表数据,最高访问限制为 2 GB, (不包括未存储在本地) 的任何附件。 此外,Access 在客户端上缓存列表数据,使用高效的内存中写通缓存,并且仅传输更改的列表项。 这些均可加快查询和更新的速度。 冲突解决方案对话框还有助于你以平稳的方式管理冲突更新。
如果激活了 Access Services 功能,则可以处理比列表视图阈值更多的数据,默认情况下最多可处理 50,000 个项目。 Access 自动以小批方式处理列表或库数据,然后重新组合数据,这种技术可处理比列表视图阈值更多的数据,而不会对 SharePoint 网站上的其他用户产生不利影响。
使用 Microsoft Excel 进行脱机同步
可以将 SharePoint 列表导出到 Excel 表,这将在 Excel 表和 SharePoint 列表之间创建单向数据连接。
Excel 还允许你在不受阻碍的情况下处理大型列表。 此外,可以将 Excel 与 SharePoint 和 Access 同步,以充分利用每个平台的优势。
从 SharePoint 列表更新数据并刷新 Excel 表时,Microsoft Excel 会将 Excel 数据替换为最新的 SharePoint 列表数据,覆盖对该 Excel 表所做的任何更改。
数据位于 Excel 表中后,可以利用 Excel 的许多数据分析功能,例如功能强大且灵活的工作表、数据透视表、专业外观的图表和 Spark 线、带图标的条件格式、数据条、色阶以及复杂的 What-if 分析作。
如果激活了 Access Services 功能,则可以处理比列表视图阈值更多的数据,默认情况下最多可处理 50,000 个项目。
使用 Microsoft Outlook 进行脱机同步
在 Outlook 中,可以读取和写入联系人、任务、日历和讨论Lists,以及同步文档库。 例如,可以通过使任务列表脱机、查看、更新和分配新任务、使其重新联机,并在不离开 Outlook 的情况下同步它们,来处理标准任务列表和项目任务列表。 你还可以在 Outlook 中更加高效地存储、共享和管理 SharePoint 联系人。
将 Access 与 SharePoint 产品配合使用进行脱机同步
在 Access 中,可以通过基于链接列表以及发布到 SharePoint 网站的查询、窗体、报表和宏生成表来创建基于 Access Services 的 Web 数据库。 升级这些 Web 数据库后,你仍然可以使用和修改它们,并从模板 (创建新的数据库,但不能从 Access 2013) 。
可以在 SharePoint 中创建 Access 应用,而无需使用代码。 通常,SharePoint 应用是一个易于分配的集中单点解决方案,可在应用市场获取。 将应用视为可打包、分配、运行、监视和停用解决方案的方便的替代方法。 有关详细信息,请参阅创建 Access 应用。
与在 SharePoint 列表中存储数据的 Access Web 数据库应用程序不同,Access 应用程序使用独立于 SharePoint 产品的SQL Server数据库来存储数据,因此不受 SharePoint 列表视图阈值的约束。 这大大提高了 Access 解决方案的可伸缩性,且有助于有效处理可能存在的数百万条记录。 对于 SharePoint Server 用户,可以将SQL Server数据库配置为位于组织的防火墙后面。 对于联机用户,数据库是启用了免费帐户和免费存储的SQL Server Azure 数据库。 有关 Azure 的详细信息,请参阅 Microsoft Azure 主页。
最后,您仍然可以在 SharePoint 列表和 Access 表之间同步数据,并使这两组数据保持最新。 这种同步是双向的或双向的。 对列表数据的 Access 中所做的更改将上传到 SharePoint 列表,对 SharePoint 列表所做的更改将下载到计算机上的 Access。 有关详细信息,请参阅导入、链接数据或将数据移动到 SharePoint。
使用 SharePoint 搜索框
查找大型库或列表中的文档或项目的另一种方法是使用列表或库的“搜索”框输入关键字 (keyword) 或短语。 SharePoint 搜索有自己的索引机制,不受列表视图阈值或其他相关限制的约束。
管理大型库另一种解决方案是创建并使用文档中心网站。 文档中心网站专为文档管理而设,提供文件的签入和签出、工作流、筛选器和视图等功能。
使用搜索框查找列表或库项目
SharePoint 页面上通常有两个搜索框:位于页面顶部的网站搜索,和特定列表或库搜索框。 使用列表或库的“搜索”框时,可以逐步扩展搜索作的范围:
-
默认情况下,搜索范围最初基于当前视图和任何子文件夹中的所有项目。 您将作为您可以进一步筛选和排序的列查看结果。 如果当前超出了列表视图阈值,则不会显示所有结果。
-
如果找不到要查找的内容,可以扩展搜索范围以包括整个列表,包括所有子文件夹,而不考虑当前视图或列表视图阈值。
-
最后,可以扩展范围以搜索整个网站。 在这种情况下,您会在标准搜索网站页面中看到所有结果。 您可以通过使用精简面板进行筛选(例如,按文档的作者或列表项的创建日期)来进一步缩小结果范围。 甚至可以使用布尔语法和逻辑运算符来设计更精细的查询。
注意: 在 SharePoint 经典版中,“搜索”框仅适用于显示为客户端呈现视图的列表和库。 尽管默认行为是显示“搜索”框,但在工具窗格的“杂项”部分中,“列表视图”Web 部件属性“”搜索框“可以隐藏搜索框。 有关 SharePoint 经典版中的 Web 部件属性的详细信息,请参阅在经典页面上使用列表和其他 Web 部件。
使用个人视图、关系列表和 RSS 源
若要进一步提高整体系统性能并避免达到资源阈值或限制,可考虑是否要使用个人视图、关系列表或 RSS 源。
个人视图
由于创建正确使用列索引的视图对于大型列表和库更为复杂,因此你可能希望从大型列表或库的参与者中删除“管理个人视图”权限。 通过删除此权限,可以阻止用户创建跨所有项且可能对网站其余部分性能产生不利影响的视图。 有关权限的详细信息,请参阅自定义 SharePoint 列表或库的权限。
关系列表
使用查阅列、唯一列和强制实施的关系行为 ((也称为引用完整性) )创建列表关系时,可以达到列表视图阈值,并且可能会在以下情况下被阻止:
-
如果使列在现有列表中唯一,该列的项数超过列表视图阈值 (但请注意,将一项添加到使列表超过列表视图阈值的列表是通常不会阻止) 的作。
-
如果列表的项数超过“列表视图阈值”,则为该列表中的查阅字段启用“级联删除”或“限制删除 ”。
RSS 源
在管理中心和网站集级别上启用 RSS 支持后,可以为许多类型的列表和库启用和配置 RSS 支持。 当用户访问列表或库的 RSS 源时,将从列表中检索数据。 默认 RSS 视图通过使用对“已修改”列的筛选器,根据上次修改项的日期限制返回的项数。 如果列表或库包含许多项,并且用户访问 RSS 源,则最好为“已修改”列编制索引。 还可以通过更改 RSS 源中包含的项数和天数来减少检索到的项目数。
有关管理 RSS 源的详细信息,请参阅管理网站或网站集的 RSS 源。 若要了解如何添加 RSS 源,请参阅创建警报以在文件或文件夹更改时收到通知。