如果我缩小它的数据库(SQL Server 2005中)的性能降低?

当施加(塔内???)收缩究竟发生在MDF和LDF文件

有帮助吗?

解决方案

当收缩数据库它会消耗资源收缩DB。当它运行到的问题是当DB需要再次增长,假设你有自动增长设置,它会消耗更多的资源,为自动增长。常数自动收缩(或缩小作为维护计划的一部分)会导致物理磁盘碎片。

如果您启用了自动增长,它被设置为1MB默认的常数,汽车的增长会消耗大量的资源。

这是数据库的大小的尺寸是适合的最佳实践,预计初始大小加上一段(一个月,一年,不管期间您认为合适的)预期增长。你不应该使用自动收缩或使用收缩作为维护计划的一部分。

您也应该设置你的自动增长到MB(不是数据库%当汽车越来越多,它需要先计算%,再增长的数据库)。你还应该设置自动增长到一个合理的量,以确保它不是打算每10分钟在增长,尝试,旨在为每日1两种生长。

您也应该看看设置即时初始化为您的SQL Server。

好运,

马特

其他提示

要明白,当你收缩数据库时,页面将会重新安排是很重要的。在数据文件末尾的页面被移动的文件的开头开的空间,完全不考虑碎片。

一个簇索引确定数据的一个表中的物理顺序。所以,想象一下,你刚刚创建了一个聚集索引,这将重新排序表中的数据,物理。好了,那么当你执行收缩命令,即刚刚创建聚集索引的过程中被整齐有序的数据将可能现在不按顺序,这将影响SQL的有效利用它的能力。

所以,你做一个收缩操作任何时候,你必须对所有后续查询影响性能的潜力。但是,如果收缩后重新做你的聚集索引/主键,你正在帮助整理多,你可能会收缩操作期间都推出了碎片。如果性能是至关重要的,但你也不得不经常做收缩,然后在一个理想的世界里,你会希望每个收缩动作后要重新做索引。

是的,它可能会影响性能一点。当一个数据库处于工作时它不小心把多关于其磁盘空间的使用,更约高效的数据检索/持久性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top