比如 电信公司 那里,有个 电话记录表
包含下面的字段
日期/时间 打电话的号码 接电话的号码 接通时间 接入交换机 ......很多字段
如果没有索引, 你要去查询 这个月, 谁给你打电话了
那么 数据库要把 这一个月的所有记录, 都读取出来
也就是差不多要 “全表扫描”了
分析 接电话的号码 是不是 等于 你家的电话号码
如果是的话, 还要把 打电话的号码 返回给你
如果 在 接电话的号码 字段上面,有个索引
那么 数据库 就可以迅速的定位到你的号码
索引的机制,就是 一个 类似 树形的存储结构
比我数据大的,都在我的左边的节点那里
比我数据小的,都在我的右边的节点那里
这样,可以迅速的 找到你家的电话号码
找到你家的电话号码之后
索引那里,存储有 记录的 实际的 物理地址
然后,数据库,根据物理地址
只检索那几条特定的记录
然后把那几条特定的记录的 打电话的号码 返回给你