MySQL
文章平均质量分 92
一起学习MySQL
小呆鸟_coding
阿里云专家博主,在读机器人研究生,喜欢编程,通过写文章记录自己的生活,以及学习的点点滴滴。希望我们共勉。一起努力冲向远方
展开
-
【10.有关锁的面试】
在数据库层面,有两种策略通过「打破循环等待条件」来解除死锁状态:文章https://xiaolincoding.com/原创 2023-03-13 10:42:52 · 321 阅读 · 0 评论 -
【9.数据页结构】
InnoDB 的数据是按「数据页」为单位来读写的,也就是说,当需要读一条记录的时候,并不是将这个记录本身从磁盘读出来,而是以页为单位,将其整体读入内存。数据库的 I/O 操作的最小单位是页,InnoDB 数据页的默认大小是 16KB,意味着数据库每次读写都是以 16KB 为单位的。原创 2023-03-11 22:42:41 · 458 阅读 · 0 评论 -
【8.索引篇】
在实际的应用当中, d 值是大于100的,这样就保证了,即使数据达到千万级别时,B+Tree 的高度依然维持在 3~4 层左右,也就是说一次数据查询操作只需要做 3~4 次的磁盘 I/O 操作就能查询到目标数据。B+Tree 只在叶子节点存储数据,而 B 树 的非叶子节点也要存储数据,所以 B+Tree 的单个节点的数据量更小,在相同的磁盘 I/O 次数下,就能查询更多的节点。另外,B+Tree 叶子节点采用的是双链表连接,适合 MySQL 中常见的基于范围的顺序查找,而 B 树无法做到这一点。原创 2023-03-11 18:31:11 · 591 阅读 · 0 评论 -
【7.MySQL行格式存储】
varchar(n) 字段类型的 n 代表的是最多存储的字符数量,并不是字节大小。一行记录最大只能存储。原创 2023-03-10 23:39:34 · 446 阅读 · 0 评论 -
【6. 执行一条select过程】
存储引擎层流程如下。原创 2023-03-10 22:04:16 · 106 阅读 · 0 评论 -
【5. 事务】
重写日志, 正如之前说的,MySQL是先把磁盘上的数据加载到内存中,在内存中对数据进行修改,再写回到磁盘上。幻读是事务A查询工资单中大于3000的一共有3人,而此时事务B又加了一条4000元进行,此时事务A读到的就是4人。:俩个写事务A,B同时对A = 0进行+1操作,结果B覆盖了A,导致最终结果是1而不是2,事务被覆盖。记录了这些回滚需要的信息,当事务执行失败或调用了rollback,导致事务需要回滚,便可以利用。,并提交,然后事务A再次查询相同的范围,两次读取得到的结果集不一样了,这就是幻读。原创 2022-11-06 11:42:06 · 359 阅读 · 0 评论 -
【4. 主从复制】
在实际工作中,经常用Redis和MySQL搭配使用,当有请求时,首先会从缓存中进行查询,如果存在就直接取出。如果不存在在访问数据库,这样就提升了读取效率,也减少了后端数据库的访问压力。一般对数据库而言都是读多写少,对于数据库的读取数据压力比较大,所以可以采用数据库集群的方案,做主从架构、进行读写分离,同样可以提升数据库并发处理能力。原创 2022-11-06 10:03:44 · 446 阅读 · 0 评论 -
【3. MySQL日志】
原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢?事务的隔离性由锁机制实现。而事务的原子性、一致性和持久性由事务的redo 日志和undo 日志来保证。REDO LOG称为重做日志,提供再写入操作,恢复提交事务修改的页操作,用来保证事务 的持久性。UNDO LOG称为回滚日志,回滚行记录到某个特定版本,用来保证事务的原子性、一致性。原创 2022-11-05 22:53:57 · 240 阅读 · 0 评论 -
【2. MVCC-多版本并发控制技术】
MVCC 在、这俩个隔离级别才有效,因为这俩个情况下考虑快照(读旧数据),而剩下的读为提交和串行化,读的都是最新数据核心点在于ReadView的原理,、这两个隔离级别的一个很大不同就是生成ReadView的时机不同:在每一次进行普通SELECT操作前都会生成一个ReadView只在第一次进行普通SELECT操作前生成一个ReadView,之后的查询操作都重复使用这个ReadView就好了。原创 2022-11-05 19:51:36 · 586 阅读 · 2 评论 -
【1. MySQL锁机制】
都默认别人不会修改,所以不会上锁,在更新的时候会判断一下在此期间别人有没有去更新这个数据。如果出现行锁的时候,想加表锁,那就只能进行全表遍历,看是否有加行锁。然而事务加锁时,记录是不存在的,是无法加行锁,则需要靠间隙锁。,而可重读读只能解决脏读,不可重复读。:乐观锁一般会使用版本号机制或CAS。MySQL默认隔离级别是。意向共享锁(IS锁)意向独占锁(IX锁)原创 2022-11-05 16:32:58 · 338 阅读 · 0 评论