索引.md

索引的引出

A1:没有索引为什么会慢?

Q1:因为全表扫描。

A2:使用索引为什么会快?

Q2:因为形成了一个索引的数据结构,比如二叉树。

索引的代价:

1.磁盘占用

2.对 dml(delete 、insert、update ) 语句 的效率影响(需要对索引进行维护)。

当没有索引时,

1
select * from emp where id=1;

即时它在第一行就找到了 id=1的数据,但它不知道后面还有没有 id=1 的数据,所以还是会进行 ==全表扫描==

image-20221109211259891

索引的原理——二叉树

形成一个数据结构 —–二叉树(一种情况)

image-20221109211751824

索引的实现原理

索引的优缺点

优点

缺点

  1. 占用内存。

  2. 对 dml( update delete insert )语句的效率影响。

    修改了数据的话,会对原有的索引结构造成破坏,需要重新生成索引。—-> 需要对==索引进行维护==。