Query optimization is still problematic in the commercial database system because database optimizers sometimes choose a bad execution plan with several-fold latency differences. In this paper, we de-sign a new dynamic optimization strategy called query split, which takes advantage of run-time statistics. Integrating query split into PostgreSQL, we have a 2x speedup in total end-to-end latency on Join Order Benchmark and achieve near-optimal latency by comparing with the optimal execution plan. Our finding reveals that breaking up the static pipeline between database optimizer and executor can benefit the query processing and greatly reduce end-to-end latency.
翻译:在商业数据库系统中,查询优化仍成问题,因为数据库优化者有时选择不完善的执行计划,有几倍的延迟差。在本文中,我们指定了一个新的动态优化战略,称为查询分割,利用运行时间统计。将查询分为PostgreSQL,在加入命令基准上的端到端总延迟中,我们有一个2x的加速,并通过与最佳执行计划进行比较,实现接近最佳的延迟。我们的发现显示,打破数据库优化者与执行者之间的静态管道,可以有利于查询处理,并大大减少端到端的延迟。