How do indexes speed up searches?
本问题已经有最佳答案,请猛点这里访问。
索引如何帮助加快基于特定标准的数据搜索?
如果有一个表有6列,并且没有一列被索引,那么程序必须检查所有表行。
索引涉及到创建另一个只有两列的独立表,即ID和要索引的列。
我不明白的是,这是如何帮助应用程序进行更快的搜索的?它不读取整个6列表,但它仍然需要读取整个2列表,对吗?行数相同…
它的功能很像书中的索引。我们不会通过读取整个索引来找到我们想要的条目,一旦找到了条目,我们就不会继续为同一条目的其他实例读取索引。一旦我们找到条目,我们就不必阅读整本书,只要跳到我们想要的条目。这些操作是在正常的表查找中进行的,并且索引以书籍索引的方式为我们节省了很多时间。
创建索引基本上可以创建磁盘上的哈希表或磁盘上的搜索树(通常是某种B树)。
在有序搜索树中搜索精确匹配或最接近匹配时,搜索哈希表的精确匹配是
这与扫描整个表(即