trancate需要提交事物吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了trancate需要提交事物吗相关的知识,希望对你有一定的参考价值。

是的,truncate需要提交事务才能生效。在执行truncate命令之前,必须先提交当前的事务,因为truncate会删除表中的所有数据,这是一个不可逆的操作,如果不提交事务,就无法保证该操作的结果。 参考技术A 需要手动提交事务。truncate自动提交事务。
--区别2.delete可以添加where条件,truncate不能添加where条件。
--区别3.delete效率相对低,因为它是一条记录一条记录进行删除。
      --truncate效率相对高,因为它是一页一页的进行删除。

点赞文章给优秀博主打call~
参考技术B 是的,truncate 需要提交事务,否则数据不会被清除。 参考技术C trancate是需要提交事物的,答案如下:建议空腹拆快递,因为吃饱了蹲下来难受 ​​。 参考技术D trancate需要提交事物吗
答案如下:trancate需要提交事物,自动提交事务,客剧目诺拉斯偷偷摸聚聚餐。

ZooKeeper之两阶段提交

两阶段提交

2PC:在分布式系统中,每一个机器节点虽然能够明确的知道自己在进行事物操作过程的结果是失败或成功,但却无法直接获取其他分布式节点的操作结果,因此事物操作需要跨越多个分布式节点的时候,需要引入一个协调者统一调度所有节点的执行逻辑。

阶段一:提交事物请求

  1. 事物询问
    协调者向所有的参与者发送事物内容,询问是否可以执行事物操作,并开始等待各参与者的响应。
  2. 执行事物
    各参与者节点执行事物操作,并将Undo和Redo信息记入事物日志中
  3. 各参与者向协调者反馈事物询问的响应
    如果参与者成功执行了事物操作,那么就反馈给协调者Yes响应,表示事物可以执行;如果参与者没有成功执行事物,那么就反馈给协调者No响应,表示事物不可以执行。

阶段二:执行事物请求

在阶段二中协调者会根据参与者的反馈情况来决定最终是否可以进行事物操作,其中有两种可能。

执行事物提交

假如协调者从所有的参与者获得的反馈都是Yes响应,那么就会执行事物响应。

  1. 发送提交请求。
    协调者向所有参与者节点发出Commit请求
  2. 事物提交
    参与者接收到Commit请求后,会正式执行事物提交操作,并在完成提交之后释放在整个事物执行期间占有的事物资源。
  3. 反馈事物提交结果
    参与者在完成事物提交之后,向协调者发送Ack消息。
  4. 完成事物
    协调者接收到所有参与者反馈的Ack消息后,完成事物。

优缺点

  • 优点:原理简单,实现方便
  • 缺点:同步阻塞,单点问题,脑裂,太过保守。

以上是关于trancate需要提交事物吗的主要内容,如果未能解决你的问题,请参考以下文章

spring 事务对存储过程管用吗?

ZooKeeper之两阶段提交

数据库-事物的隔离级别

记录mysql trancate 重置id自增

delete trancate drop三者之间的区别

redis在php中的应用(Trancation篇)