V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
delpo
V2EX  ›  数据库

关于数据库读锁写锁的疑惑

  •  
  •   delpo · Apr 16, 2020 · 1372 views
    This topic created in 2203 days ago, the information mentioned may be changed or developed.
    今天在写 sql 的时候,突然发现,在一个事务内,可以对同一个目标同时加读锁和写锁
    类似于下面的 sql:

    begin;
    select ... lock in share mode;
    select ... for update;

    这个事务不会被阻塞,查看 information_schema.INNODB_TRX 表,发现 trx_rows_locked 属性值是数据行数的两倍.
    不知道是不是我理解的有问题,对同一行或同一张表,可以同时加 x 锁和 s 锁吗?
    1 replies    2020-04-16 17:23:21 +08:00
    leviathan0992
        1
    leviathan0992  
       Apr 16, 2020
    SQL 执行也是串行的, 在一个事务里并不是并行的啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   983 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 222ms · UTC 20:27 · PVG 04:27 · LAX 13:27 · JFK 16:27
    ♥ Do have faith in what you're doing.