我是一名新的DBA,并安装了聚光灯来监控我的数据库。我被一位资深DBA建议增加我的数据库的初始大小,但他无法正确解释这种增加的原因/好处。有人可以帮忙吗?
答案 0 :(得分:0)
主要原因是文件碎片化。最初的大尺寸将保护您免受此问题的影响。
此外,当您的数据库增长时,成本 - 数据库性能会受到影响。
答案 1 :(得分:0)
最有可能的原因是,当超过初始大小时,需要增加文件系统上的文件。这会导致磁盘上的文件碎片化,因为大多数情况下,在已经分配的空间之后,它不会立即获得更多空间。
有时文件会以百分比增长,当您以非常小的初始大小开始时会导致更多碎片。
答案 2 :(得分:0)
主要原因是,当文件必须增长时,所有数据库操作都将停止,直到文件增长了数据库的自动增长设置中指定的数量,这是一项代价高昂的操作,并且可能需要一些时间,具体取决于数据库的大小,自动增长设置(想象一下,如果数据库的大小已经是2TB,那么将数据库增长10%所需的时间,所有查询都必须等待完成,因此固定数量通常比百分比),存储速度以及是否为SQL实例启用了即时文件初始化。
最好从一开始就适当调整数据库的大小以避免这些问题。
碎片并不是一个问题,因为它通常在生产SQL服务器上,数据库文件在他们自己的卷上而没有其他任何写入它们,所以连续的空间不是问题,所以当您考虑到驱动器可能是iSCSI LUN时,碎片问题变得更加复杂,您不知道物理文件布局(例如,NetApps可以使用Write Anywhere文件布局在整个地方写入, WAFL)。
一般来说,SQL服务器中的文件/索引碎片在性能方面是不成比例的,在我的经验中,即使是在解决性能问题时也很少成为主要因素。