Database 索引如何加速搜索?

Database 索引如何加速搜索?,database,search,indexing,Database,Search,Indexing,索引如何帮助加快基于特定条件的数据搜索 如果有一个表有6列,但没有一列被索引,那么程序必须检查所有表行 索引涉及创建另一个单独的表,其中只包含两列,即id和要索引的列 我不明白的是,这如何帮助应用程序更快地搜索?它不会读取整个6列表,但它仍然必须读取整个2列表,对吗?具有相同行数的…创建索引基本上会创建磁盘上的或磁盘上的(通常是某种类型的) 在哈希表中搜索精确匹配是O(1),而在有序搜索树中搜索精确匹配或最近匹配是O(log(n)) 这与扫描整个表形成对比,即O(n) 它的功能很像书中的索引。我

索引如何帮助加快基于特定条件的数据搜索

如果有一个表有6列,但没有一列被索引,那么程序必须检查所有表行

索引涉及创建另一个单独的表,其中只包含两列,即id和要索引的列


我不明白的是,这如何帮助应用程序更快地搜索?它不会读取整个6列表,但它仍然必须读取整个2列表,对吗?具有相同行数的…

创建索引基本上会创建磁盘上的或磁盘上的(通常是某种类型的)

在哈希表中搜索精确匹配是
O(1)
,而在有序搜索树中搜索精确匹配或最近匹配是
O(log(n))


这与扫描整个表形成对比,即
O(n)

它的功能很像书中的索引。我们不会读取整个索引来找到我们想要的条目,一旦找到条目,我们就不会继续读取同一条目的其他实例的索引。一旦我们找到了条目,我们不必阅读整本书,只要跳到我们想要的条目。这些操作都是在正常的表查找中进行的,索引可以节省我们很多时间,就像图书索引一样

您应该看一下,因为它很好地解释了数据库索引。索引不是表。