你需要COMMIT;在INSERT / * +追加* /之后

时间:2014-03-10 12:57:54

标签: oracle commit sql-insert

每个INSERT语句后都有COMMIT。

我想知道在COMMIT; ...

之后我是否需要INSERT /*+ append */

1 个答案:

答案 0 :(得分:0)

COMMIT后并不总是需要INSERT /*+ APPEND */ ...。但由于直接路径写入引起的问题,这是一个非常常见的约定。直接路径插入直接写入数据文件。这会将该段与其他DML锁定,甚至会阻止同一会话查询该表,否则它将生成ORA-12838: cannot read/modify an object after modifying it in parallel

除了这些限制之外,何时提交在很大程度上取决于应用程序的事务概念,正如Brian Driscoll指出的那样。