【问题标题】:How binary search is used in database indexing如何在数据库索引中使用二进制搜索
【发布时间】:2023-04-03 22:03:01
【问题描述】:

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

【问题讨论】:

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

标签: database algorithm relational-database binary-search database-indexes


【解决方案1】:

二分搜索计算每一步的下一个位置(中间点)。

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

【讨论】:

    【解决方案2】:

    Binary search 允许您通过键快速查找记录,假设键已经排序。如果键的数量很大,则尤其如此。 32 次键读取足以在 20 亿个已排序键的集合中找到任何单个唯一键。

    二分搜索之所以如此工作,是因为每次搜索尝试都会将要搜索的记录数减半。

    也就是说,数据库通常使用其他类似binary tree 的数据结构,例如b-treesred-black trees 来执行索引。使用二叉树无需在搜索之前对键列表进行排序。

    【讨论】:

      【解决方案3】:

      只要您有一个排序列表,您就可以使用二分搜索来有效地搜索列表。数据库索引是排序数据的数据结构。

      【讨论】:

        猜你喜欢
        • 2014-04-14
        • 2021-11-20
        • 2014-08-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        相关资源
        最近更新 更多