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

标签 sql indexing

我已经在线阅读了一段时间,现在使用索引确实可以加快您的数据库查询速度。

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

最佳答案

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

拿电话簿来说,总是“姓,名”,这样你就可以查到某人。想象一下,如果电话公司只是在没有任何排序的情况下将新号码添加到列表的末尾:您必须逐个扫描数百万个条目才能找到“Smith, John”。

嗯,这同样适用于数据库表。没有索引的表(简单地)称为“堆”:因为您的数据实际上是一堆无序数据。如果我有一百万行,我必须查看每一行才能找到我想要的。

当然,这更复杂,但我希望这能捕获本质。

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

关于sql - 什么是数据库上下文中的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4064063/

相关文章:

sql - 获取对象信息

sql - 在 Presto SQL 中选择 Top #?

mysql - 时间戳索引

mysql - 将索引应用于 Blob/长文本字段

postgresql - 在 Postgres 中查找以空格分隔的字符串

mysql - SELECT * 在联接内

mysql - WHERE 子句的第二个参数不起作用

sql - 带查找功能的 Rails SQL 查询

mysql - mysql大表如何正确使用索引?

java - Solr异常: Error opening new searcher