Query optimization is still problematic in the commercial database system because database optimizers sometimes choose a bad execution plan with a several-fold difference in latency from the optimal one. In this paper, we design a new dynamic optimization strategy called Blala, which takes advantage of runtime statistics. Integrating Blala into PostgreSQL, we have a 2x speedup for 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的加速器,用于连接命令基准上的端到端总长度,并通过与最佳执行计划进行比较,实现接近最佳的延迟。我们的调查结果显示,打破数据库优化者与执行者之间的静态管道,可以有利于查询处理,并大大减少端到端的延迟。