数据库
Golphing
希望能够和大家一起交流各种新技术。微信: chizhiyihen_gsq
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql insert 隐式锁的问题分析
1、什么是隐式锁? 隐式锁是一种乐观锁,只在必要的时候加锁。比如insert的时候,默认是不会加锁的,InnoDB的每条记录中都一个隐含的trx_id字段,这个字段存在于聚簇索引的B+Tree中。插入后会保存当前事务ID。如果后面有其他事务要对这个记录加排他锁时,将由这个事务将这个记录增加前面一个事物的显示锁。 2、insert如何加锁? insert加隐式锁,也就是在主键索引里...原创 2019-10-25 17:44:45 · 966 阅读 · 0 评论 -
索引失效场景
1、B-Tree可以对<,<=,=,>,>=,BETWEEN,IN,以及不以通配符开始的LIKE使用索引。 2、存储引擎不能使用索引中范围条件右边的列。例如,如果你的查询语句为WHERE last_name="Smith" AND first_name LIKE 'J%' AND dob='1976-12-23',则该查询只会使用索引中的前两列,因为LIKE是范围查询。 ...原创 2019-10-25 17:43:12 · 272 阅读 · 0 评论 -
事务隔离级别实现原理和锁-InnoDB存储引擎
1、隔离级别的种类 RU:未提交读 RC:读提交 RR:可重复读 (默认) Series:串行化 2、锁的种类 行锁,gap lock, next-key lock 共享锁,排他锁,意向共享锁,意向排他锁,插入意向锁 意向锁(插入意向锁不包括)之间互相兼容,可以说意向锁就是为了提高锁判断的效率的。两个事务都对同一个表加意向排他锁,也就是两个事务都是修改数据,那么底层的行...原创 2019-10-25 17:42:26 · 496 阅读 · 0 评论 -
where 条件加锁分析
本文前提 where提取 Index key Index Filter Table Filter 有什么用? 参考文章 本文前提 基于InnoDB存储引擎 当前读 where提取 提取为三部分:Index Key, Index Filter, Table Filter Index key Index First Key: 用于确定索引查询的起始...原创 2019-10-25 17:40:35 · 662 阅读 · 0 评论 -
Myisam和InnoDB的区别
不同点: InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一; InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败; InnoDB 是聚集索引,MyISAM 是非聚集索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要有主...原创 2019-10-25 17:38:31 · 300 阅读 · 0 评论 -
mysql自增主键的锁问题
每个带有自增属性的表都有一个隐式计数器来维护自增ID到了什么值。在插入的时侯通过加表锁来更新这个计数器。插入完成后就释放,并不是等到事务结束。但是这严重影响了程序的并发性,尤其是在执行insert .... select的时候会阻塞其他事务的插入。 所以mysql 5.1.22进行了优化,对于确定数量的插入simple inserts通过互斥量来做到的。 MySQL 5.1.22开始,I...原创 2019-10-25 17:35:45 · 1164 阅读 · 0 评论
分享