我是一个新的数据库管理员,已经安装了spotlight来监控我的数据库。一位资深的数据库管理员建议我增加数据库的初始大小,但他无法正确地向我解释这种增加的原因/好处。有人能帮上忙吗?
发布于 2016-03-14 17:01:35
主要原因是文件碎片。较大的初始大小将保护您免受该问题的影响。
此外,当您的数据库增长时,它的成本-数据库性能会受到影响。
发布于 2016-03-14 17:02:07
最有可能的原因是,当超出初始大小时,文件系统上的文件需要增加。这会导致磁盘上的文件碎片化,因为在大多数情况下,它不能在已经分配的空间之后立即获得更多空间。
有时,文件会以百分比的形式增长,当您从非常小的初始大小开始时,这会导致更多的碎片。
发布于 2016-03-15 17:16:56
主要原因是当文件必须增长时,所有数据库操作都将停止,直到文件增长到数据库的自动增长设置中指定的数量为止,这是一项成本高昂的操作,可能需要一些时间,具体取决于数据库的大小、自动增长设置(想象一下,如果数据库的大小已经是2TB,则需要花费多长时间才能将数据库增长10%,所有查询都必须等待该操作完成,因此固定量通常比百分比更好)、存储速度以及是否为SQL实例启用了即时文件初始化。
最好从一开始就适当地调整数据库的大小,以避免这些问题。
碎片问题并不像看上去的那么严重,通常在生产SQL server上,数据库文件位于它们自己的卷上,没有任何其他写入内容,因此连续空间不是问题,而且碎片问题变得更加复杂当您考虑到驱动器可能是iSCSI LUN时,您不知道物理文件布局(例如,NetApps可以使用随处写入文件布局随处写入)。
通常,SQL server中的文件/索引碎片在性能方面不成比例,在我的经验中,这几乎不是故障排除性能的主要因素。
https://stackoverflow.com/questions/35982796
复制相似问题