2012-07-19 42 views
1

我有一个数据库,需要支持许多插入,更新和删除。 该数据库保存最近3个月的实时数据。数据量巨大 - 数据库的大小约为0.5TB。固定大小的数据库 - 优势?

我每天运行一个归档3个月以上数据的进程。当然,删除数据不会释放出结果空间。回收我需要的磁盘空间(自动)缩小数据库。当需要更多数据库空间时,这当然会随(自动)增长。

在另一方面,我们知道,掠过我脑海shrinking the database is evil! 一种解决方案是设置一个固定大小为我的数据库从0.5TB到0.8TB,甚至0.9TB或任何希望的自由空间导致数据存档后(即删除旧数据)稍后将被数据库重新使用。

任何人都可以证实,这样我可以避免(自动)收缩+(自动)增长的需要?当然,我们假设固定大小足够大。

回答

0

为什么不建立一个计划任务来每隔n天收缩一次数据库?

固定大小是有风险的 - 容易填满数据库,并阻止实时访问。

+0

这是一个很大的想法,我想避免收缩/增长,因为在这些操作过程中数据库几乎不可用 – Adi 2012-07-19 08:15:00

+0

如果您需要回收磁盘空间,我没有看到您有任何其他选择 - 只是不要每一次都这样做一天,并在最小加载时间执行 – BonyT 2012-07-19 08:23:29

+0

另外,收缩/增长增加磁盘碎片... – Adi 2012-07-19 08:23:43