使用索引和筛选的视图来控制数据并提高性能
规划和创建索引并在过滤器中使用它们可以将项目数保持在列表视图阈值之下。 有关详细信息,请参阅向 列表或库列添加索引 或 使用筛选修改 SharePoint 视图。
在以下两种情况下会自动创建索引:
- 保存后,视图具有用于排序或筛选的列。
- 在新式体验中排序时。
注意
在新式体验中排序时自动创建索引仅限于少于 20,000 个项目的列表和库。 如果它大于 20,000 个项目,则将在后台创建索引。 当索引正在构造时,“索引列”页面将显示“正在索引”。
对于 SharePoint 服务器,如果你被列表视图阈值阻止,但项目总数小于 20,000,则可以在 SharePoint 2019 中向列添加索引。
在所有版本的 SharePoint 上,都可以创建带有列索引的筛选视图来帮助减少处理大型列表和库时得出的结果数。 使用索引列创建筛选视图的过程分为两步:
- 为列创建索引。
- 创建一个使用索引列筛选视图的视图。
有关索引列的详细信息,请参阅向 列表或库列添加索引。
有关筛选列的详细信息,请参阅 使用筛选修改 SharePoint 视图。
编辑列表视图
如果在处理大型列表时发生错误, 请编辑列表视图。
以下四项更改消除了列表视图阈值错误。 进行全部四项更改以消除所有错误。
从“ 首先按列排序 ”和“ 然后按列排序”中,选择“ 无”。
注意
具有 列类型 (如人员、查找或托管元数据)的列可能会导致排序时出现列表视图阈值错误。 但是,可以在第一个排序中使用文本、数字、日期和其他列类型。
从 “首先按列分组 ”和“ 然后按列分组”中,选择“ 无”。
对于“ 总计” 部分中的所有列,选择“ 无”。
在“列”部分中,检查显示所需的尽可能少的列。
注意
显示以下类型的 12 列或更多列可能会导致列表视图阈值错误:人员、查找和托管元数据。 显示其他类型的列则不会。
使用文件夹进行组织
虽然使用大型列表和库无需文件夹,但仍可使用文件夹来整理数据,提高数据访问效率。 默认情况下,会在文档库中启用创建文件夹,但不会在列表中启用。 有关详细信息,请参阅在 列表中创建文件夹 或在 文档库中创建文件夹。
有关使用文件夹的信息
注意
- 对于 SharePoint,如果使用 “移动到” 命令或拖放,现有元数据也会移动。
- 可使用文件夹有效地组织数据,但应注意不要让对该文件夹的查询返回的阈值超过列表视图阈值。
- 正如我们之前所讨论的,筛选的视图通过减少低于列表视图阈值的可能结果数来帮助。 但是,如果将项目移动到 SharePoint 回收站,则在确定筛选器表达式是否超过列表视图阈值时,仍会对这些项目进行计数。 如果清空回收站,则不再计入这些项目。 有关详细信息,请参阅 删除项目或清空 SharePoint 网站的回收站。
创建文件夹时,在后台创建内部索引。 还会为根文件夹或列表或库的顶层创建此内部索引。 访问文件夹中的项目时,实际上是在使用此内部索引来访问数据。 请记住,如果文件夹包含子文件夹,则会将每个子文件夹计为一个项目(但不是该子文件夹中的所有项目)。
即使是在列表或库中项目总数很大的情况下,单个文件夹视图的速度至少与使用索引列筛选项目总数的视图的速度相当。 在某些情况下,可以将列表或库中的所有项目分布到多个文件夹中,导致任何文件夹中的项目都不能超过 5,000 个。
使用文件夹组织大型列表或库时,请务必考虑以下事项:
- 文件夹包含的项目数可以超过列表视图阈值,但为了避免被阻止,可能仍需要使用基于列索引的筛选视图。
- 如果在创建或修改此列表或库中的视图时,在“文件夹”部分选择“显示所有不带文件夹的项目”选项,则必须使用基于简单索引的筛选器,以确保不会达到列表视图阈值。
- 使默认视图显示所有可用文件夹而不进行任何筛选通常很有用,这样用户就可以在插入新项目时选择适当的文件夹。 通过显示所有文件夹,还可以降低错误地将项目添加到列表或库中的文件夹之外的几率。 与库不同,没有自动方法在列表中的文件夹之间移动项目。
若要在库中的文件夹之间移动文件,请参阅 移动或复制 SharePoint 中的文件。
已同步和脱机的数据
通过脱机获取数据,可以使用 Excel 或 Access 无限制地查询列表数据。 同步文档文件夹时,您可以在计算机上本地工作,并且更改会自动更新到服务器。 有关详细信息,请参阅使用 OneDrive 同步 客户端 (Groove.exe) 同步 SharePoint 文件或将 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 的许多数据分析功能,如功能强大且灵活的工作表、数据透视表、专业外观的图表和迷你图、带图标的条件格式、数据条、色阶以及复杂的模拟分析操作。
如果激活了 Access Services 功能,则可以处理的数据比列表视图阈值多得多,默认情况下最多 50,000 个项目。
使用 Microsoft Outlook 进行脱机同步
在 Outlook 中,可以读取和写入联系人、任务、Calendar 和讨论列表,以及同步文档库。 例如,可同时使用标准任务列表和项目任务列表,方法是使任务列表脱机、查看、更新和分配新任务,使它们重新联机,并在不离开 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 服务器 用户,可以将 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 源,请参阅创建 通知以在文件或文件夹发生更改时收到通知。