**Mysql在innoDB引擎中将行锁升级为表锁**

Mysql在innoDB引擎中将行锁升级为表锁

**众所周知,MySQL 的 InnoDB 存储引擎支持事务,支持行级锁(innodb的行锁是通过给索引项加锁实现的)。得益于这些特性,数据库支持高并发。如果 InnoDB 更新数据使用的不是行锁,而是表锁呢?是的,InnoDB 其实很容易就升级为表锁,届时并发性将大打折扣了。**

  1. 行锁是建立在索引字段的基础上,如果行锁定的列不是索引列则会升级为表锁,我这两个测试的查询条件有重复字段,其实用两个值来测试也是同样的效果。

  2. 索引列数据重复过多情况下,会导致索引失效,行锁变表锁。

    行锁是建立在索引的基础上。
    普通索引的数据重复率过高导致索引失效,行锁升级为表所

你可能感兴趣的:(Mysql)