一、索引的概念
索引的定义
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
如下图:
数据库索引的实现方式
索引通常采用 B 树或 B+ 树等结构。索引由索引项组成,索引项由来自表中每一行的一个或多列(搜索关键字)组成。B 树按搜索关键字排序,可以在搜索关键字的任何关键字上进行高效搜索。
为什么需要索引
假设我们不能通过索引定位数据库内的信息,现在需要在学生表中寻找张三,那么我们为了找到他,就得遍历整张表。查找时间将随着表内数据量的增加而增加,这并不会是我们想要看到的结果。
如果引入了索引,我们能直接通过索引定位张三,获得他的相关数据,无论数据量如何增长,查找时间都是O(1),很显然能够减少时间开销。
建立索引的代价
索引无疑能减少数据查找所需要的时间,但创建索引也是需要付出代价的:
1、索引在数据库中会占用一定的存储空间
2、在对数据进行更新(插入、删除、修改)操作时,为使索引和数据保持一致,还需要对索引进行维护
索引的优缺点
优点
保证数据库表中每一条数据的唯一性
<