为我们的数据库实现二叉搜索树(BST)的重要性是什么?

问题描述 投票:0回答:1

二叉搜索树(BST)有助于高效执行CRUD操作。当我们在数据库中存储数据时,是否需要用编程语言实现BST?

例如,考虑 Django + Postgresql。 Django 框架中的模型使用 ORM 自动转换为数据库表。我从来不需要实现这些树。 BST 是否内置于数据库中或者实施它们是否有意义?

python database binary-search-tree
1个回答
1
投票

适当的数据库引擎(包括PostgreSQL)实现高效的CRUD机制。 BST 只是与索引一起使用的一种可能的数据结构,但实际上数据库使用 B 树或 B+ 树来实现此目的。您不需要自己实现这个。

就像平衡 BST 一样,B(+) 树是平衡数据结构,当给定存在索引的键时,它提供对数时间复杂度的 CRUD 操作。

参见维基百科关于 B 树

B 树是一种自平衡树数据结构,它维护排序数据并允许在对数时间内搜索、顺序访问、插入和删除。 B 树概括了二叉搜索树,允许节点具有两个以上的子节点。与其他自平衡二叉搜索树不同,B 树非常适合读写相对较大数据块的存储系统,例如数据库和文件系统。

当您设计数据模型时,您应该注意定义必要的表索引,以便您利用这一点。

© www.soinside.com 2019 - 2024. All rights reserved.