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