美文网首页
表锁和行级锁的机制

表锁和行级锁的机制

作者: 夜雨听风_b3d5 | 来源:发表于2019-11-04 23:36 被阅读0次

        MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的不足。比如:MyISAM不支持事务,InnoDB支持事务。表锁虽然开销小,锁表快,但高并发下性能低。行锁虽然开销大,锁表慢,但高并发下相比之下性能更高。事务和行锁都是在确保数据准确的基础上提高并发的处理能力

        多个事务操作同一行数据时,后来的事务处于阻塞等待状态。这样可以避免了脏读等数据一致性的问题。后来的事务可以操作其他行数据,解决了表锁高并发性能低的问题。

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

行锁

行锁的劣势:开销大;加锁慢;会出现死锁

行锁的优势:锁的粒度小,发生锁冲突的概率低;处理并发的能力强

加锁的方式:自动加锁。对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及数据集加排他锁;对于普通SELECT语句,InnoDB不会加任何锁;当然我们也可以显示的加锁:

共享锁:select * from tableName where … + lock in share more

排他锁:select * from tableName where … + for update

InnoDB和MyISAM的最大不同点有两个:一,InnoDB支持事务(transaction);二,默认采用行级锁。加锁可以保证事务的一致性。

相关文章

  • Mysql的行级锁 -- 共享锁和排他锁

    转载 mysql锁机制分为表级锁和行级锁,行级锁中的共享锁(select ... lock in share mo...

  • 共享 + 排他锁

    mysql锁机制分为表级锁和行级锁 ,mysql中行级锁中的共享锁与排他锁进行分享交流。 测试语法 begin; ...

  • 数据库锁和事务2019-12-04

    数据库的锁机制 按锁类型划分,可分为共享锁、排他锁 按锁的粒度划分,可分为表级锁、行级锁、页级锁 ...

  • 数据库相关问题与解答

    收集常见数据库问题 锁机制介绍:行锁、表锁、排他锁、共享锁,悲观锁、乐观锁。行级锁:开销大,加锁慢;会出现死锁;锁...

  • MySQL的锁机制

    锁的类型 MySQL的锁分为:行级锁、表级锁、页级锁 MyISAM 和 Memory 存储引擎使用的是表级锁 In...

  • MySQL表级锁和行级锁

    MySQL学习笔记(五):MySQL表级锁和行级锁 一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最...

  • (MySQL死锁认识二)数据库中的锁

    数据库中的锁按照不同的方式区分有不同的结果,按照锁的粒度区分,可分为表级锁和行级锁 表锁和行锁 表锁意为对整张表加...

  • 表锁和行级锁的机制

    MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的不足...

  • 总结Mysql中的锁

    MySQL中的锁 概述 MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁 表级锁:开销小,加锁快,不会...

  • mysql的几种锁

    一,按照对数据操作的锁粒度(锁级别)来分:行级锁,表级锁,页级锁 MyISAM和MEMORY采用表级锁(table...

网友评论

      本文标题:表锁和行级锁的机制

      本文链接:https://www.haomeiwen.com/subject/cdzhbctx.html