mysql
文章平均质量分 79
beautifulmoonlight
这个作者很懒,什么都没留下…
展开
-
mysql日志文件以及两阶段提交等学习笔记
日志文件 redolog 重做日志,也称事务日志,由innodb引擎层产生,记录的是数据库中每个页的修改,而不是某一行或某几行修改成怎样,可以用来恢复提交后的物理数据页,保证事务提交后新的数据不会丢失。 binlog 归档日志,在mysql的server层产生,主要记录用户对数据库操作的SQL语句(除了查询语句),主要用作主从同步和数据库基于时间点的还原。 undolog 回滚日志,用来回滚行记录到某个版本。undo log一般是逻辑日志,根据每行数据的修改前数据和修改操作进行记录,保护事务在excepti原创 2022-01-07 00:42:38 · 681 阅读 · 0 评论 -
mysql索引失效学习笔记
环境:mysql5.7.13 innodb引擎 1.select * from test where name=‘Allen’; 如果name字段建立了索引,一般会走该索引,但是如果name字段的值分布不均匀,比如Allen这个名字占了大部分,则很有可能会放弃走name索引,直接进行全表扫描,因为如果继续走name索引的话,就要进行大量的回表查询,这样的话对比全表扫描就没有了优势。 2.select * from test where name=123; 这种情况下不会走name索引,因为name字段的类型原创 2022-01-05 17:44:51 · 526 阅读 · 0 评论 -
mysql事务与锁学习笔记
环境:针对mysql5.7.13 innodb引擎。 在可重复读事物下,执行当前读操作 可能出现的锁:行锁,间隙锁,表锁。除了串行化事物,行锁是只要命中了数据行就肯定会加的。 命中唯一索引时,如果不存在范围查询并且存在符合要求的数据,则只锁定命中行;如果不存在范围查询并且不存在符合要求的数据,则会使用间隙锁,期间所有会影响该查询结果的语句都不能执行;如果存在范围查询并且存在符合要求的数据,则会锁定命中行并且加上间隙锁;如果存在范围查询并且不存在符合要求的数据,则会使用间隙锁,期间所有会影响该查询结果的语句原创 2022-01-03 01:00:41 · 815 阅读 · 0 评论