我们的应用程序使用的是数据库(内存中),直到最近还在使用T-Tree。现在,我们已经迁移到B-Tree,并且我们观察到,对于更高的工作负载(有数百万条记录驻留在数据库中),性能会显著提高。帐户信息已经创建(Insertion 4M),然后在处理时更新它们。
然而,对于另一个产品变体来说,它的记录数量非常少,所以吞吐量下降了。在这里,帐户信息被临时创建(插入)、处理(很少更新),然后清除(删除)。在任何给定的情况下,我们的目标不是每秒处理超过100个帐户配置文件。在这种情况下,我们观察到T-树和B-树存在显著的性能差异。
对于后一种情况,B-Tree似乎表现得更差。
对于B-Tree可能不如T-Tree的特定情况,我在互联网上找不到太多信息。
发布于 2019-04-12 22:14:34
T树在内存中的数据集上执行得更好,而B树在磁盘上的数据集上执行得更好。
这是因为T树在较小的数据集上工作得更好,因为它们可能会完全适合内存(并在那里停留一段时间)。
编辑
找到这个:T-Tree or B-Tree
在这个时代,
的T树必然会因为它们糟糕的局部性而遭受可怕的痛苦,无论是在预期的块/页传输计数方面,还是在缓存局部性方面。
https://stackoverflow.com/questions/55634787
复制相似问题