SQL延迟耐久性单表

时间:2017-12-21 16:12:06

标签: sql sql-server tsql sqlperformance

我们有一个存储过程,它记录每个SP中的步骤并将它们写入Activity_Log_Table。

示例:

EXEC write_activity_log 'Start of xxx process' 

调用SP以在另一个SP中记录进程的开始。

问题是我们每分钟使用数百个SP,每个SP可能记录了许多步骤 - 因此我们编写了大量数据Activity_Log_Table导致资源问题。

我已经阅读了有关延迟耐久性及其性能改进的信息,并且想知道我是否可以将其用于写入此表。我已经看到我可以简单地提交启用延迟耐久性的事务。

我可以在SP中添加一行写入Activity_Log_Table,只是为这些日志写入添加延迟耐久性

e.g。

BEGIN TRAN
Insert into Activity_Log_Table (columns)
Values (@log_steps)
COMMIT WITH (DELAYED_DURABILITY = ON)

这只会影响写入此表的所有内容 - 让数据库中的其他所有内容都不受影响吗?延迟耐用性真的可以提高性能吗?我知道如果服务器崩溃等数据丢失会有问题,但这不是关键的客户端数据 - 它只是用于调试(如果需要)

0 个答案:

没有答案