MySQL
文章平均质量分 90
过河的小卒子
这个作者很懒,什么都没留下…
展开
-
MVCC(Mutil-Version Concurrency Control)
MVCC(Mutil-Version Concurrency Control)多版本并发控制 - 省流量的说法就是“乐观锁”数据库并发问题首先我们要搞清楚相关的并发问题,脏读、不可重复读、幻读脏读事务A修改了数据a(3-> 5),还没有提交事务;这个时候,事务B读取数据a,读到的a是5;然后事务A发生回滚,数据a还是3,这称为脏读。不可重复读事务B读取数据a(3)。事务A修改了数据a(3-> 5),事务A提交了事务。事务B读取数据a(5),在同一个事务里面,两次读到的数原创 2022-01-10 19:11:00 · 596 阅读 · 0 评论 -
MySQL查询最大值、最小值所在行
SQL查询最大值所在行原创 2020-09-06 17:49:44 · 7990 阅读 · 2 评论 -
面试-4.索引失效问题
索引失效的情况:###1.有or必全有索引;如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因)。注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.复合索引未用左列字段;(索引的最左前缀原则)B+ 树这种索引结构,可以利用索引的“最左前缀”,来定位记录。假设我们有(name,age)这样一个联合索引。可以看到,索引项是按照索引定义里面出现的字段顺序排序的。 因为可以支持最左前缀,原创 2020-07-26 19:07:02 · 1549 阅读 · 0 评论 -
MySQL学习笔记2.0
1.主备延迟来源:有些部署条件下,备库所在机器的性能要比主库所在的机器性能差。备库的压力大。大事务。由于主备延迟的存在,所以在主备切换的时候,就相应的有不同的策略:可靠性优先策略和可用性优先策略。2.读写分离 客户端直连方案,因为少了一层 proxy 转发,所以查询性能稍微好一点儿,并且整体架构简单,排查问题更方便。但是这种方案,由于要了解后端部署细节,所以在出现主备切换、...原创 2020-02-22 17:17:48 · 620 阅读 · 0 评论 -
MySQL学习笔记1.0
1.两种日志(binlog 和 redo log)1.这两种日志有以下三点不同。redo log 是 InnoDB 引擎特有的;binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用。2.redo log 是物理日志,记录的是“在某个数据页上做了什么修改”;binlog 是逻辑日志,记录的是这个语句的原始逻辑。3.redo log 是循环写的,空间固定会用完;binlo...原创 2020-02-22 17:14:46 · 598 阅读 · 0 评论