我在考虑在批处理过程中使用AUTONOMOUS_TRANSACTION Pragma进行一些日志记录。有没有人有这方面的经验?如果是这样的话,任何利弊都将不胜感激。
发布于 2009-08-26 15:08:40
IMO自治事务特别适用于日志记录:它们独立于主会话运行,这意味着您可以在表中写入、提交或回滚更改,而不会影响主事务。
它们增加的开销也很小:如果您运行大语句并在每个语句之间添加自治事务,则性能成本将可以忽略不计。
还有一个您可能会感兴趣的副作用:由于自主事务处于独立于调用事务的会话中,因此您可以在主进程运行时跟踪它的进程。您不必等待主事务完成:您可以查询日志表,因为它由自治事务填充。
发布于 2009-08-27 11:09:54
显然,即使主事务回滚,在自治事务中完成的任何日志记录也将保留在数据库中。对于日志记录,这可能是您想要的,但重要的是要记住,显示“insert row X into table Y”的日志记录并不意味着该插入确实被提交了。
https://stackoverflow.com/questions/1335331
复制相似问题