mysql
攀攀攀啦
这个作者很懒,什么都没留下…
展开
-
隔离级别问题汇总
隔离级别分类事务隔离级别脏读不可重复读幻读读未提交是是是不可重复读否是是可重复读否否是串行化否否否什么是幻读事务A 按照一定条件进行数据读取, 期间事务B 插入了相同搜索条件的新数据,事务A再次按照原先条件进行读取时,发现了事务B 新插入的数据称为幻读。如果事务A 按一定条件搜索, 期间事务B 删除了符合条件的某一条数据,导致事务A 再次读取时数据少了一条,这种情况归为不可重复读。RR隔离级别如何实现使用MVCC保证快照原创 2020-09-27 11:12:07 · 194 阅读 · 0 评论 -
索引问题汇总
什么是索引?索引是保证MySQL高效查询数据的数据结构索引减少服务器需要扫描的数据量。索引可以避免排序和临时表。索引可以将随机IO变为顺序IO。索引有哪些数据结构B-Tree索引HASH索引Full-Text索引R-Tree索引B-Tree索引结构一个m介B树的定义如下:每个节点最多有m个子树根节点不是叶子节点,至少有两个子树。除根节点之外的所有非叶子节点至少有m/2棵子树。所有非叶子节点中包含k个关键字和k+1个子树。所有叶子节点都出现在同一层次,并且不带信息,视原创 2020-09-27 09:06:59 · 303 阅读 · 0 评论 -
InnoDB redo log和undo log
MySQL日志主要由3种日志,undolog, redolog binlog下面整理这三种日志的作用。redologredoLog保证事务的原子性和持久性,是InnoDB存储引擎特有的一种物理日志,负责把事务对数据库的所有修改都记录下来。redo log存储数据修改之后的值,不管事务是否提交都会记录下来。当电脑数据库掉电,InnoDB存储引擎会使用redo log恢复到掉电前的时刻,以此来保证数据的完整性。在一条更新语句进行执行的时候,InnoDB引擎会把更新记录写道redo log日志中,然后更新原创 2020-09-09 21:15:26 · 239 阅读 · 0 评论 -
MVCC总结
下面内容是参考文章末尾博客做的一点总结,博客中讲解的很好,但是对其中一些说法不是很赞同,所以下面只整理认同的部分。多版本控制指的是一种提高并发的技术。最早的数据库系统,只有读读之间可以并发,读写,写读,写写都要阻塞。引入多版本之后,只有写写之间相互阻塞,其他三种操作都可以并行,这样大幅度提高了InnoDB的并发度。ReadView事务快照是用来存储数据库的事务运行情况。一个事务快照...原创 2019-11-12 17:51:26 · 152 阅读 · 0 评论