技术编辑
美国商业资讯2008年3月10日印度孟买消息——
数据库服务器受到两种截然不同的文件碎化类型的困扰,它们分别是内部文件碎化和外部文件碎化。内部文件碎化发生于记录从数据库页面移除时,这使记录占据的空间在记录被删除后保持空余。
最终空间将被再利用,而与之同时,数据库页面将变得碎化,从而导致伴随着输入/输出过程的不必要的时间花费。在SQL服务器中,整理内部文件碎片的方法可以有好几种。其中一种方法就是,使用DBCC REINDEX命令重建聚簇和非聚簇索引。索引一旦重建,数据库页面就又恢复了逻辑上的连续,而磁盘的输入/输出操作也得到了最小化。
外部文件碎化是指服务器磁盘上文件的碎化过程。与内部文件碎化相比,它可以引起与之一样多(如果不是更多)的不必要的输入/输出活动。数据库服务器由较大的数据库和记录文件组成,这些文件在产生的一刹那就被按照大小预先分配好。当新的文件被创建时,如果磁盘上有足够多的连续空余空间,则它们不会产生碎化。否则的话,这些新的数据库和记录文件将变为碎片遍布于磁盘剩余空间之上。
即使新的数据库和记录文件没有在创建一开始就产生碎化,它们也几乎必将随着数据库的扩大而变得支离破碎,而读取这些文件带来的不必要的输入/输出活动将损害SQL服务器的整体性能。整理外部文件碎化需要的是一种操作系统应用而不是SQL服务器应用。与DBCC REINDEX不同,当碎片整理工具运行时,它不会改变文件内部内容的结构。
在数据库和记录文件得到整理后,碎化的文件将成为一个连续的与初始文件完全对应的复制品。因此,数据库页面内的所有漏洞依然存在,为了抵制内部文件碎化,你必须时不时地重建索引。文件碎片整理并不会解决所有数据库优化问题,但它常常是人们的困惑中不为多数人所知的部分。这样看来,下次你的同事提出数据库服务器不需要碎片整理工具时,你可能需要三思了。
免责声明:本公告之原文版本乃官方授权版本。译文仅供方便了解之用,烦请参照原文,原文版本乃唯一具法律效力之版本。
--30--AMP/la*
联系方式:Boyers Marketing
Bruce Boyers,818-637-2625
beboyers@earthlink.net