【问题标题】:B-Tree vs T-Tree - For lower workloads which is better?B-Tree 与 T-Tree - 对于较低的工作负载,哪个更好?
【发布时间】:2019-09-02 05:23:42
【问题描述】:

我们的应用程序正在使用直到最近才使用 T-Tree 的数据库(内存中)。 现在,我们已经迁移到 B-Tree,我们观察到对于更高的工作负载(数据库中有数百万条记录),性能显着提高。帐户信息已创建(插入 - 4M),然后在处理时更新。

但是,对于另一个运行非常少的记录的产品变体,吞吐量有所下降。在这里,帐户信息被临时创建(插入),处理(很少更新),然后清理(删除)。在任何情况下,我们都不打算每秒处理超过 100 个帐户配置文件。 在这种情况下,我们观察到 T-Tree 和 B-Tree 存在显着的性能差异。

B-Tree 似乎在后一种情况下表现更差。

对于 B-Tree 的性能可能不如 T-Tree 的特定情况,我在 Internet 上找不到太多信息。

【问题讨论】:

    标签: database performance indexing database-design database-performance


    【解决方案1】:

    T 树在内存中的数据集上表现更好,而 B 树在磁盘上的数据集上表现更好。

    这说明 T 树在较小的数据集上工作得更好,因为它们很可能完全适合内存(并在那里停留一段时间)

    编辑

    发现这个: T-Tree or B-Tree

    在这个时代,[T 树] 必然会因为其较差的局部性而遭受可怕的痛苦,无论是在预期的块/页面传输计数方面还是在缓存位置方面。

    【讨论】:

      猜你喜欢
      • 2017-03-02
      • 1970-01-01
      • 2012-01-13
      • 2011-09-05
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2015-06-17
      相关资源
      最近更新 更多