高效计算合取查询的差异

摘要:有效计算两个(或多个)联接查询的差异结果,这是关系代数中最后一个操作符,我们对此进行了研究。在实际的数据库系统中,标准方法是将每个输入查询的结果作为单独的集合存储,并计算两个(或多个)集合的差异。这种方法的瓶颈在于评估每个输入查询的复杂性,特别是当差异中只有少量结果时,这可能是非常昂贵的。在本文中,我们通过利用输入查询的结构特性,并将差异操作符尽可能地向下推,介绍了一种新的方法来重写原始查询。我们展示了对于大类别的差异查询,这种方法可以导致一个线性时间算法,即输入大小和(最终)输出大小(即差异操作符中存留的查询结果数量)的数量。通过展示在线性时间内计算其余差异查询的困难性,我们完善了这个结果。尽管一般情况下很难实现线性时间算法,但我们还提供了一些可以明显改善标准方法的启发式方法。最后,我们将我们的方法与图形和基准数据集上的标准SQL引擎进行了比较。实验证明,我们的方法相比于纯SQL可以实现数量级的加速。

作者:Xiao Hu and Qichen Wang

论文ID:2302.13140

分类:Databases

分类简称:cs.DB

提交时间:2023-04-21

PDF 下载: 英文版 中文版pdf翻译中