Indexing 何时以及为什么要重新索引MSDE数据库

Indexing 何时以及为什么要重新索引MSDE数据库,indexing,Indexing,我知道索引应该自动更新,但如果没有,我们需要重新编制索引 我的问题是(1)为什么这个自动udate失败或者为什么索引变差? (2) 如何从图形上知道某个时间点哪些表/索引需要重新编制索引?索引的统计信息可能会自动更新。我不相信索引本身会在需要时自动重建(尽管可能有一些管理功能允许这样的事情发生) 与接收大量更改(新行、更新行和删除行)的表相关联的索引的索引可能会变得支离破碎,效率较低。重建索引,然后在连续的存储空间中“重新打包”索引,这有点类似于文件系统碎片整理使文件访问更快的方式 此外,索引(

我知道索引应该自动更新,但如果没有,我们需要重新编制索引

我的问题是(1)为什么这个自动udate失败或者为什么索引变差? (2) 如何从图形上知道某个时间点哪些表/索引需要重新编制索引?

索引的统计信息可能会自动更新。我不相信索引本身会在需要时自动重建(尽管可能有一些管理功能允许这样的事情发生)

与接收大量更改(新行、更新行和删除行)的表相关联的索引的索引可能会变得支离破碎,效率较低。重建索引,然后在连续的存储空间中“重新打包”索引,这有点类似于文件系统碎片整理使文件访问更快的方式

此外,索引(在多个DBM上)有一个FILL_FACTOR参数,该参数确定每个节点中应为增长留出多少额外空间。例如,如果您预计一个给定的表明年将增长20%,那么通过将填充因子声明为80%左右,索引的碎片量在第一年应该是最小的(如果这20%的增长不是均匀分布的,那么可能会有一些碎片,…)

在SQL Server中,可以查询指示其碎片级别的索引属性,因此可能需要进行维护。这可以通过交互式管理控制台完成。也可以通过MSSQL 2005及更高版本(甚至更老的版本?)的方式,通过编程方式来实现这一点