如何在删除大量过时数据时减少数据库文件的大小?
我们有一个应用程序,其中包含多年收集的数据。现在有一位客户离开了项目,他们的数据可以被删除。仅此客户就占数据库中75%的数据。
磁盘使用率非常高,并且在价格非常高的虚拟化云服务中运行。更换为其他提供商不是一种选择,购买更多磁盘并不受欢迎,因为我们实际使用的数据减少了75%。
在我看来,如果我们能够摆脱这些客户数据,缩小文件并在未来几年内保持安全,再次达到这个磁盘使用水平,那就太棒了。
我看到许多线程警告性能因索引碎片而降低。
那么,我们怎样才能删除这些客户的数据(存储在其他客户使用的相同表格中,以及其他方面的客户ID索引),而不会造成任何明显的弊端?
这些步骤是可行的,还是有更好的方法?
答案 0 :(得分:0)
只需要第1步。删除数据将释放数据库中的空间,可以重新用于新数据。您还应该执行ALTER INDEX...REORGANIZE
or ALTER INDEX...REORGANIZE
1来压缩索引并在索引中均匀分配可用空间。
修改强>
由于您的云提供商对所使用的磁盘空间收费,因此您需要缩小文件以释放回操作系统的空间并避免产生费用。以下是对您提议的步骤的一些调整,可以根据您的RPO要求进行定制。