我有一个系统管理员想要经常在我的服务器上整理硬盘驱动器。物理文件碎片整理是否会导致我的索引变得更加碎片化?磁盘碎片整理后我应该重建我的索引吗?
我知道聚簇索引可能会从磁盘碎片整理中受益,但是非聚簇索引呢?这就是我最常问的问题。
感谢。
答案 0 :(得分:1)
除非在碎片整理过程中关闭SQL Server或使数据库脱机,否则磁盘碎片整理程序甚至无法触及数据库文件,因为它们始终处于打开状态。因此,实际上,运行磁盘级碎片整理将无任何影响。
即使您使SQL Server脱机,效果应该是最小的,因为数据库中的物理文件不会获得碎片,除非您使用一些众所周知的错误做法,如自动收缩。这就是为什么所有DBMS都有自己的内部碎片整理例程,如DBCC INDEXDEFRAG
- 物理文件可能是完美的,但其中包含的各个索引和表可能仍然严重碎片化。
根本不打扰磁盘碎片整理,这将是我的建议。如果您在数据库服务器上有文件碎片,那么它可能是其他一些问题的症状。