zoukankan      html  css  js  c++  java
  • for update 和 rowid 的区别

    SELECT a.*,rowid FROM test a;
    SELECT * FROM test a FOR UPDATE;
    • 1
    • 2

    for update 语句运行时,

    会在对应行(where 条件)加上行级锁,如果没有where条件,会对全表进行加锁 ,当其他人忘记提交或者回滚事务的时候,就会发生锁表,只适合单人进行操作,不适合多人同时操作;

    rowid 运行的时候,

    并没有给数据加上行级锁,可以对数据进行编辑,提交的瞬间完成上锁,提交,解锁等动作。所以,当多人对表进行操作的时候,并不会产生无法操作的现象。

    for update 和 rowid 的区别

    SELECT a.*,rowid FROM test a;
    SELECT * FROM test a FOR UPDATE;
    

    for update 语句运行时,会在对应行(where 条件)加上行级锁,如果没有where条件,会对全表进行加锁 ,当其他人忘记提交或者回滚事务的时候,就会发生锁表,只适合单人进行操作,不适合多人同时操作;
    rowid 运行的时候,并没有给数据加上行级锁,可以对数据进行编辑,提交的瞬间完成上锁,提交,解锁等动作。所以,当多人对表进行操作的时候,并不会产生无法操作的现象。

  • 相关阅读:
    利用dockerfile定制镜像
    发布Docker 镜像到dockerhub
    Docker 停止容器
    133. Clone Graph
    132. Palindrome Partitioning II
    131. Palindrome Partitioning
    130. Surrounded Regions
    129. Sum Root to Leaf Numbers
    128. Longest Consecutive Sequence
    127. Word Ladder
  • 原文地址:https://www.cnblogs.com/651434092qq/p/14200522.html
Copyright © 2011-2022 走看看