Database 数据库如何有效地处理(中间)结果?

Database 数据库如何有效地处理(中间)结果?,database,performance,Database,Performance,假设查询执行(多个)联接。联接操作可以在(中间)结果中同时导致更多列和更多行 很容易想象一种中间2D格式会在连接之间“增长”。然而,数据将在内存中大量复制 我想知道这是在高效的数据库实现中实现的,还是在使用不同的策略 例如,有两种明显的方法可以生成中间表(2D):使每一行的数据或每一列的数据在内存中是连续的。根据操作的不同,每种安排都可能有优点或缺点(扫描较少的数据,而访问位置不好)。当然,还有更多的高级变体。我建议你读一本关于你喜欢的数据库的书:@HLGEM我是一个非数据库领域的研究人员,想在

假设查询执行(多个)联接。联接操作可以在(中间)结果中同时导致更多列和更多行

很容易想象一种中间2D格式会在连接之间“增长”。然而,数据将在内存中大量复制

我想知道这是在高效的数据库实现中实现的,还是在使用不同的策略


例如,有两种明显的方法可以生成中间表(2D):使每一行的数据或每一列的数据在内存中是连续的。根据操作的不同,每种安排都可能有优点或缺点(扫描较少的数据,而访问位置不好)。当然,还有更多的高级变体。

我建议你读一本关于你喜欢的数据库的书:@HLGEM我是一个非数据库领域的研究人员,想在我自己的应用程序中添加类似的行为-这不是它的核心,但我不想用不必要的低效代码来压缩实验结果。我想我应该找出数据库如何处理这个问题,而不是重新发明轮子。因此,没有首选数据库。我对大多数其他数据库核心问题也不太感兴趣。主要是关于这个问题,因为不同的数据库可能会以不同的方式解决问题,所以我建议详细阅读您使用的数据库。