索引的引出
A1:没有索引为什么会慢?
Q1:因为全表扫描。
A2:使用索引为什么会快?
Q2:因为形成了一个索引的数据结构,比如二叉树。
索引的代价:
1.磁盘占用
2.对 dml(delete 、insert、update ) 语句 的效率影响(需要对索引进行维护)。
当没有索引时,
1 | select * from emp where id=1; |
即时它在第一行就找到了 id=1的数据,但它不知道后面还有没有 id=1 的数据,所以还是会进行 ==全表扫描==
索引的原理——二叉树
形成一个数据结构 —–二叉树(一种情况)
索引的优缺点
优点
缺点
占用内存。
对 dml( update delete insert )语句的效率影响。
修改了数据的话,会对原有的索引结构造成破坏,需要重新生成索引。—-> 需要对==索引进行维护==。