索引原理。简单粗俗理解
索引的实现原理
1.什么是索引:
一张数据库表的目录,类似于一本书的目录,有效提高检索效率。本质上缩小了扫描范围。
2.原理
底层实现:采用 B+Tree.一种数据结构
SQL语句:Create index indexname on table(colum);-- indexname是索引名,table是表名,colum是要添加索引的字段
当我们输入一条select语句时,例如select name from emp where name = 'LiMing'。查询开始,首先判断该字段(name)是否有索引,如果有索引,则创建索引对象,对添加索引的字段(name)进行排序,在分级分区(就比如说对‘name’字段:会先按照首字母排序,然后按照字母大小,逐个进行分级,分区域,进行标记)存储到内存或者文件当中(根据数据库采用的存储引擎不同而不同),再进行定位检索,查找数据,获取到数据的物理地址(数据库中的数据都会被电脑分配一个内存地址),再变换select语句,即select name from emp where 物理地址=‘0x00101’,现在不用在表中查找数据,直接在内存当中查找。
![图片](https://img2020.cnblogs.com/blog/2605259/202111/2605259-20211106143103992-890528476.jpg)