Day8
2025-01-15🌱上海: ☀️ 🌡️+4°C 🌬️↓19km/h
# MySQL中有哪些锁类型?
# 简要回答
在MySQL中,主要有以下几中锁类型:
行级锁:对特定行加锁,适合高并发,允许并发访问不同行。
表级锁:对整个表加锁,用于需保证完整性的小型表,加锁时其他事务无法读写。
意向锁:表锁,分意向共享锁(IS)和意向排它锁(IX),用于行级锁与表级锁结合。
共享锁:允许多个事务并发读,不允许修改,释放后其他事务才能获排它锁。
排它锁:只允许一个事务读写,其他事务需等待排它锁释放。
元数据锁(MDL):保护数据库对象元数据,防止 DDL 操作时被修改。
间隙锁:针对
more...Day7
2025-01-15🌱上海: ☀️ 🌡️+4°C 🌬️↓19km/h
# MySQL中的事务隔离级别有哪些?
# 事务的隔离级别
读未提交(READ UNCOMMITTED) 是最低的隔离级别,在这种隔离级别下,一个事务可以读到另一个事务未提交的数据。这种隔离级别下会存在幻读、不可重复读和脏读的问题。
读已提交 (READ COMMITTED) 在一个事务修改数据过程中,如果事务还没提交,其它事务不能读该数据。所以,这种隔离级别是可以避免脏读的发生的,但是可能会引发不可重复读问题,即在同一个事务中,相同的查询可能返回不同的结果。
可重复读 (REPEATABLE READ
more...Day2
# MySQL三层B+树能存多少数据?
具体答案题解很详细,这里只补充下思路及扩展知识点。
# 答题思路
一般这种题,更多的是考察对于MySQL存储格式的了解,后续遇到类似的面试题该如何思考?接下来按步骤分析以下。
了解MySQL的存储格式及对应的结构(如每页默认大小16KB,B+树的结构)
假设数据大小,估算每页可存储数据数量
假设索引键和指针大小,估算单个节点的扇出数量
通过(单页存储数据量×单个节点的扇出量2 )计算总数据量,这里三层就是2次方,n层就是n-1次方。
# 扩展知识(了解即可)
# InnoDB的存储格式
# 页结构
# 引导思路及假想面试
Q :上面问题回答的不错
more...Day1
2025-01-15🌱上海: ☀️ 🌡️+3°C 🌬️↓19km/h
# MySQL InnoDB引擎中的聚簇索引和非聚簇索引有什么区别?
# 简要回答(重要)
聚簇索引的非叶子节点存储的是索引值,叶子节点存储的是完整的数据记录,一个表只能有一个聚簇索引,一般是表的主键,主要用于范围查询和排序。
非聚簇索引的非叶子节点存储的也是索引值,但是叶子节点存储的是数据行的主键或对应的索引列,一个表可以有多个非聚簇索引,非聚簇索引由称为辅助索引,二级索引等,主要用于快速定位要查找的列。
# 补充回答(引导面试官主动提问)
聚簇索引简单理解就是把索引和数据记录放在一起了,通过索引就可以
more...






