跳至主要內容
为什么MySQL使用B+树做索引?
索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。 索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在...

码说256大约 14 分钟mysqlmysql面试面试总结
MySQL数据库经典面试题解析
1. MySQL 索引使用有哪些注意事项呢? 可以从三个维度回答这个问题:索引哪些情况会失效,索引不适合哪些场景,索引规则 索引哪些情况会失效 查询条件包含or,可能导致索引失效; 如何字段类型是字符串,where时一定用引号括起来,否则索引失效; like通配符可能导致索引失效。; 联合索引,查询时的条件列不是联合索引中的第一个列,索引失效。; 在索...

码说256大约 45 分钟mysqlmysql面试面试总结
MySQL InnoDB MVCC 机制的原理及实现
MVCC 是什么? 数据库并发控制——锁 Multiversion (version) concurrency control (MCC or MVCC) 多版本并发控制 ,它是数据库管理系统一种常见的并发控制。 我们知道并发控制常用的是锁,当线程要对一个共享资源进行操作的时候,加锁是一种非常简单粗暴的方法(事务开始时给 DQL 加读锁,给 DML 加...

码说256大约 13 分钟mysqlmysqlInnoDB面试面试总结
MySQL相关知识点浅析
Myisam和Innodb的区别 1. innodb支持事务,锁级别是行级锁,支持四个事务隔离级别,分别是未提交读、提交读、可重复读、串行化 2. innodb的索引策略是聚簇索引 3. innodb使用MVCC实现并发控制、也就是多版本并发控制,同时也支持索引间隙锁 4. innodb支持热备份 5. myisam支持全文索引、表压缩 6. myis...

码说256大约 9 分钟mysqlmysql面试面试总结
MySQL笔记之基础篇
MySQL架构 1. server层:连接器、分析器、优化器、执行器 2. 存储引擎层,比较有名引擎包括:innodb、myisam、memory mysql架构图 SQL查询语句的执行 1. 连接器->查询缓存(8.0版本已废弃)->分析器->优化器->执行器 rows_examined 的字段,表示这个语句执行过程中扫描了多少行; 查询缓存在每次表...

码说256大约 6 分钟mysqlmysql面试面试总结
MySQL笔记之实践篇
唯一索引和普通索引的选择 1. 主要从更新性能考虑 2. 同一个字段,唯一索引和普通索引的查询消耗的性能对MySQL来说是相差不大的,普通索引比唯一索引多一次操作 3. 数据插入时针对于这两个索引,Innodb存储引擎处理的逻辑是不一样的 唯一索引:判断有没有冲突,插入值,语句更新结束,如果插入的记录所在页不在内存中,还要多一步:将数据页读到内存。; ...

码说256大约 5 分钟mysqlmysql面试面试总结