【发布时间】:2009-08-26 14:55:44
【问题描述】:
我正在考虑使用AUTONOMOUS_TRANSACTION Pragma 在批处理中进行一些登录。有人对这个有经验么 ?如果是这样,任何利弊将不胜感激。
【问题讨论】:
我正在考虑使用AUTONOMOUS_TRANSACTION Pragma 在批处理中进行一些登录。有人对这个有经验么 ?如果是这样,任何利弊将不胜感激。
【问题讨论】:
IMO 自治事务特别适用于日志记录:它们独立于主会话运行,这意味着您可以在表中写入、提交或回滚更改而不会影响主事务。
它们还增加了很少的开销:如果您运行大型语句并在每个语句之间添加一个自治事务,则性能成本将可以忽略不计。
还有一个您可能会感兴趣的副作用:由于自治事务与调用事务处于独立会话中,因此您可以在主进程运行时跟踪它的进程。您不必等待主事务完成:您可以查询日志表,因为它已被自治事务填充。
【讨论】:
显然,即使主事务回滚,在自治事务中完成的任何日志记录都将保留在数据库中。对于日志记录,这可能是您想要的,但重要的是要记住“将行 X 插入表 Y”的日志记录并不意味着该插入实际上已提交。
【讨论】: