事务中的TRUNCATE命令

来源:互联网 发布:网络直播用英语怎么说 编辑:程序博客网 时间:2024/05/21 17:18

TRUNCATE命令符合多版本并发控制的要求,一个事务如果使用它清空了一个表,其它正在并发执行的事务立即会发现这个表已经被清空,不包含任何数据。如果有其它并发执行的事务曾经访问过被清空的表,它会持有ACCESS SHARE类型的锁在被清空的表上,TRUNCATE命令会被推迟执行,直到持有ACCESS SHARE锁的事务结束,才能执行。

TRUNCATE操作可以被回滚,只要回滚发出该命令的事务即可。