id索引更改怎么重新抽取索引内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了id索引更改怎么重新抽取索引内容相关的知识,希望对你有一定的参考价值。

参考技术A 无论何时对基础数据执行插入、更新或删除操作,SQL Server 数据库引擎都会自动维护索引。随着时间的推移,这些修改可能会导致索引中的信息分散在数据库中(含有碎片)。当索引包含的页中的逻辑排序(基于键值)与数据文件中的物理排序不匹配时,就存在碎片。碎片非常多的索引可能会降低查询性能,导致应用程序响应缓慢。有关详细信息,请参阅此Microsoft 网站。

您可以通过重新组织索引或重新生成索引来修复索引碎片。对于基于分区方案生成的已分区索引,可以在完整索引或索引的单个分区上使用下列方法之一。

检测碎片
决定使用哪种碎片整理方法的第一步是分析索引以确定碎片程度。通过使用系统函数 sys.dm_db_index_physical_stats,您可以检测特定索引、表或索引视图的所有索引、数据库中所有索引或所有数据库中所有索引中的碎片。对于已分区索引,sys.dm_db_index_physical_stats 还提供每个分区的碎片信息。

由 sys.dm_db_index_physical_stats 函数返回的结果集包含以下列。



说明

avg_fragmentation_in_percent

逻辑碎片(索引中的无序页)的百分比。

fragment_count

索引中的碎片(物理上连续的叶页)数量。

avg_fragment_size_in_pages

索引中一个碎片的平均页数。

知道碎片程度后,可以使用下表确定修复碎片的最佳方法。

avg_fragmentation_in_percent 值

修复语句

> 5% 且 < = 30%

ALTER INDEX REORGANIZE

> 30%

ALTER INDEX REBUILD WITH (ONLINE = ON)*

* 重新生成索引可以联机执行,也可以脱机执行。重新组织索引始终联机执行。若要获得与重新组织选项相似的可用性,应联机重新生成索引。

这些值提供了一个大致指导原则,用于确定应在 ALTER INDEX REORGANIZE 和 ALTER INDEX REBUILD 之间进行切换的点。不过,实际值可能会随情况而变化。必须要通过试验来确定最适合您环境的阈值。

非常低的碎片级别(小于 5%)不应通过这些命令来解决,因为删除如此少量的碎片所获得的收益始终远低于重新组织或重

以上是关于id索引更改怎么重新抽取索引内容的主要内容,如果未能解决你的问题,请参考以下文章

在不更改索引的情况下重新排序数组

架构更改是不是需要重新索引所有 Solr 文档或仅包含已更改架构字段的文档?

重新排序 TableView 时如何更改 CoreData 的索引?

查询以重新索引 MySQL 数据库的主键

具有相同索引的数组已更改而未重新分配

是否可以在不从原始源重新索引的情况下更改 Solr 架构中指定的分析器?