Query optimizers are essential components of relational database management systems that directly impact query performance as they transform input queries into efficient execution plans. While users can obtain the final execution plan using the EXPLAIN command and leverage existing visualization tools for intuitive understanding, the internal decision-making processes of query optimizers are hidden from users, making it difficult to understand how the plan is constructed. To address this challenge, we present Jovis, an interactive visualization tool designed to explore the query optimization process in PostgreSQL. Jovis provides a comprehensive view of the entire optimization workflow through tailored visualization for each optimization strategy. It also includes features that allow users to participate in optimization by providing hints, tuning parameters, and reusing prior optimization results. Jovis serves as both an educational tool for learners and a practical resource for database professionals, helping users understand and improve query optimization by guiding the optimizer to make better decisions or consider previously unexplored plans. The source code, data, and/or other artifacts have been made available at https://github.com/orgs/snu-jovis.
翻译:查询优化器是关系数据库管理系统的核心组件,它通过将输入查询转换为高效执行计划直接影响查询性能。虽然用户可以使用EXPLAIN命令获取最终执行计划,并借助现有可视化工具进行直观理解,但查询优化器的内部决策过程对用户而言是隐藏的,这使得理解执行计划的构建过程变得困难。为应对这一挑战,我们提出了Jovis——一个专为探索PostgreSQL查询优化过程设计的交互式可视化工具。Jovis通过为每种优化策略定制可视化方案,全面展示整个优化工作流程。该工具还包含允许用户通过提供提示、调整参数和复用先前优化结果来参与优化过程的功能。Jovis既是学习者的教学工具,也是数据库从业者的实用资源,通过引导优化器做出更优决策或考虑先前未探索的计划,帮助用户理解并改进查询优化。源代码、数据及其他相关材料已发布于https://github.com/orgs/snu-jovis。