Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在数据库索引中使用二进制搜索_Database_Algorithm_Relational Database_Binary Search_Database Indexes - Fatal编程技术网

Database 如何在数据库索引中使用二进制搜索

Database 如何在数据库索引中使用二进制搜索,database,algorithm,relational-database,binary-search,database-indexes,Database,Algorithm,Relational Database,Binary Search,Database Indexes,我知道二进制搜索是如何工作的,但我想知道二进制搜索的实际用途。。。 我在互联网上搜索,发现其主要用途是数据库索引,但我不明白二进制搜索如何帮助数据库索引。任何时候你有一个排序列表,你都可以使用二进制搜索来高效地搜索列表。数据库索引是已排序数据的数据结构 允许您通过键快速查找记录,前提是键已排序。如果关键点的数量很大,则尤其如此。32个键读取足以在20亿个排序键的集合中找到任何一个唯一键 二进制搜索是这样工作的,因为每次搜索尝试都会将要搜索的记录数减半 也就是说,数据库通常使用一些类似于或的数据结

我知道二进制搜索是如何工作的,但我想知道二进制搜索的实际用途。。。
我在互联网上搜索,发现其主要用途是数据库索引,但我不明白二进制搜索如何帮助数据库索引。

任何时候你有一个排序列表,你都可以使用二进制搜索来高效地搜索列表。数据库索引是已排序数据的数据结构

允许您通过键快速查找记录,前提是键已排序。如果关键点的数量很大,则尤其如此。32个键读取足以在20亿个排序键的集合中找到任何一个唯一键

二进制搜索是这样工作的,因为每次搜索尝试都会将要搜索的记录数减半


也就是说,数据库通常使用一些类似于或的数据结构来执行索引。使用二叉树删除了在搜索前对键列表进行排序的要求。

二叉搜索将计算每个步骤的下一个位置(中点)


DB的二叉树预计算每个步骤的中间点,直到到达单个项目。将所有中点填充到树中。进行查询时,DBMS会查找树

数据库索引使用b-树,这是二叉树的泛化。这与使用二进制搜索不同,尽管“分而治之”的一般思想适用于这两种情况。