在给定行数删除时,事务日志会增加多少

时间:2017-10-18 05:50:57

标签: sql sql-server

我在sql server中有来自exec sp_spaceused

的以下数据的表
rows        reserved           data               index_size         unused
182515      16721960 KB        16563768 KB        14920 KB           143272 KB

我想删除38693行。这是在粗略估计中计算此删除中事务日志可以增加多少的正确方法吗?

(38693/182515)*16721960 KB最多? 3.544 GB

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您对(16 GB数据/ 182,515行)X 38,693行的估计看起来是合理的估计。

另一个估算是采用平均行大小乘以您想要删除的行数。

例如,此查询将获取群集表的平均记录大小。返回庞大的桌子可能需要一段时间:

select avg_record_size_in_bytes * 38693 / 1024.0 as [MB]
from sys.dm_db_index_physical_stats(db_id(), object_id('MyTable'), 1, 0, 'Sampled')

为了更加确定,您可以在测试服务器上恢复数据库的备份并测量删除的影响。

相关问题