java里什么是索引_面试官:什么是索引?

索引是什么?

索引是依靠某些数据结构和算法来组织数据,最终引导用户快速检索出所需要的数据。

工作方式: 利用b+树,链表,二分法查找,做到了快速定位目标数据,快速范围查找。

索引有2个特点:

通过数据结构和算法来对原始的数据进行一些有效的组织

通过这些有效的组织,可以引导使用者对原始数据进行快速检索

索引的本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。

索引的数据结构:B+树

InnoDB 的数据是按数据页为单位来读写的。也就是说,当需要读取一条记录的时候,并不是将这个记录本身从磁盘读取出来,而是以页为单位,将整个也加载到内存中,一个页中可能有很多记录,然后在内存中对页进行检索。在innodb中,每个页的大小默认是16kb。java里什么是索引_面试官:什么是索引?_第1张图片

java里什么是索引_面试官:什么是索引?_第2张图片

b+树的特征:

每个结点至多有m个子女

你可能感兴趣的:(java里什么是索引)