数据库上下文中的索引是什么?

6 sql indexing

我已经在线阅读了一段时间,因为使用索引确实可以加速数据库查询.

我的问题是什么是索引?为什么他们加快查询速度?

gbn*_*gbn 5

简单来说,它提供了一种有效查找数据的方法.

拿一本电话簿,它总是"姓氏,名字",所以你可以查找某人.想象一下,如果电话公司只是在列表的末尾添加了新的数字而没有任何排序:你必须逐个扫描数百万个条目才能找到"史密斯,约翰".

嗯,这同样适用于数据库表.没有索引的表(简称)称为"堆":因为您的数据实际上是一堆无序数据.如果我有一百万行,我必须浏览每一行以找到我想要的东西.

当然,它更复杂,但我希望这能抓住本质.

这同样适用于任何地方:AZ指南中的街道名称始终是按字母顺序排列的,银行对帐单上的条目始终按日期顺序排列