标签:定位 匹配 png upd 技术 情况下 jin 依次 sql
声明:如果没有说明具体的数据库和存储引擎,默认指的是MySQL中的InnoDB存储引擎
【参考资料】:本文摘自数据库两大神器【索引和锁】
在之前,我对索引有以下的认知:
看起来好像啥都知道,but,但面试让你说的时候可能就GG了:
索引的基础知识 |
首先Mysql的基本存储结构是页(记录都存在页里边):
可以得出以下结论:
1. 各个数据页可以组成一个双向链表
2. 而每个数据页中的记录又可以组成一个单向链表
所以说,如果我们写select * from user where username = ‘Java3y‘这样没有进行任何优化的sql语句,默认会这样做:
很明显,在数据量很大的情况下这样查找会很慢!
通过上面可知,加快查找速度势在必行,那么,索引做了些什么可以让我们查询加快速度呢?
其实就是将无序的数据变成有序(相对):
例如:要找到id为8的记录简要步骤:
很明显的是:
【参考资料】:Mysql索引
MVCC和事务的隔离级别
标签:定位 匹配 png upd 技术 情况下 jin 依次 sql
原文地址:https://www.cnblogs.com/oxygenG/p/9780841.html