索引的原理
Posted tangjian07
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了索引的原理相关的知识,希望对你有一定的参考价值。
提到数据库索引,想必大家都不陌生,在日常工作中也会经常接触到。最近因为面试被问及索引的原理及数据结构,本以为自己会了,但是还是表达不清楚,特此总结几点。。
-
索引可以比作一本书的目录,我们要想定位书中的某个章节,直接查找目录就可以迅速找到。
-
索引的目的就是为了提高数据库的查找效率,在这里指的是mysql数据库中默认引擎(InnoDB)的索引。
-
索引的底层数据结构是B+树,采用的是典型的以空间换时间策略(因为新建一个索引就会新增一棵B+树,将此索引的key保存在这个B+树上)。
-
在InnoDB中,表都是根据主键顺序以索引的形式存放的,这种存储方式的表称为索引组织表。
-
索引类型分为主键索引和非主键索引。主键索引的叶子节点存的是整行数据,非主键索引的叶子节点内容是主键的值。在InnoDB里,主键索引也被称为聚簇索引,非主键索引也被称为二级索引。
以上是关于索引的原理的主要内容,如果未能解决你的问题,请参考以下文章