• 技术文章 >数据库 >MySQL

    mysql中行锁是什么

    小妮浅浅小妮浅浅2021-05-24 14:01:12原创141

    1、说明

    InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。并且该索引不能失效,否则都会从行锁升级为表锁。

    2、注意

    行级锁都是基于索引的,如果一条SQL语句用不到索引是不会使用行级锁的,会使用表级锁。

    3、实例

    # Transaction-A
    mysql> set autocommit = 0;
    mysql> update innodb_lock set v='1001' where id=1;
    mysql> commit;
     
    # Transaction-B
    mysql> update innodb_lock set v='2001' where id=2;
    Query OK, 1 row affected (0.37 sec)
    mysql> update innodb_lock set v='1002' where id=1;
    Query OK, 1 row affected (37.51 sec)

    以上就是mysql中行锁的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL

    专题推荐:mysql行锁
    上一篇:mysql排它锁是什么 下一篇:mysql如何解除死锁

    相关文章推荐

    • mysql分组查询是什么• mysql事务中有哪些常见问题• mysql间隙锁是什么• mysql共享锁是什么• mysql中如何共享读锁• mysql使用表锁的两种情况• mysql中通信协议的介绍• mysql查询的执行过程• mysql索引的最左原则是什么• eclipse连接mysql• mysql使用关联查询的注意点• mysql中LIMIT分页如何优化• mysql查询优化策略有哪些• mysql乐观锁如何实现• mysql排它锁是什么
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网