首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >T-tree:为什么它们不用于磁盘上的索引?

T-tree:为什么它们不用于磁盘上的索引?
EN

Stack Overflow用户
提问于 2013-02-19 01:33:03
回答 1查看 466关注 0票数 1

我最近一直在研究B+树和T树。似乎有一种趋势,B+树用于磁盘上的索引,而T树用于内存。

我相信这是由于磁盘I/O,但我找不到任何东西来证实这一观点。我的假设是正确的吗?

此外,如果T树的磁盘访问可以通过缓存限制为日志B,那么它们在logB N上的性能就不能超过B+树吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 02:32:01

T-Tree本质上是一个二叉树。因此,树的深度类似于T树的log2(N/B)与B+Tree的logB(N) (N=#data项,存储在B+Tree的每个node=branch因子中的键的B=number )。这些都是近似值,因为两个树在每个节点中都没有固定数量的项目。无论如何,对于大N,B+Tree将在该指标上轻松取胜。在统一内存访问的假设下,这个数字并不重要,但在辅助存储上它确实很重要,因为它大致相当于辅助存储访问的数量。这在具有分层存储器的现代机器上也很重要(最初的T-Tree论文在Vax 11/750上测试)。

我在上面围绕如何为各自的环境更新这两个结构做了一些假设。我相信他们是对称和公平的。首先,我假设数据和密钥通过引用存储在内存中,并通过复制存储在辅助存储中。如果不能以这种方式调整结构,对于T-tree来说将是灾难性的,T-tree的设计核心是统一的访问成本,因为每个键比较都需要外部访问。对于非固定大小的数据,在这两种情况下都需要一些其他的包装调整(并在现实世界中使用)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14942049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档