软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2026年第3期:JIT编译技术在可插拔存储引擎数据库中的应用

发布日期:

作者:袁巩生,杜晨路,朱阅岸,陈育兴,唐秀,姚畅,陈刚

单位:袁巩生,浙江大学 软件学院, 浙江 宁波 315100;杭州高新区(滨江)区块链与数据安全研究院, 浙江 杭州 31005911,杜晨路,浙江大学 软件学院, 浙江 宁波 31510002,朱阅岸,嘉应学院 计算机学院, 广东 梅州 51421503,陈育兴,深圳市腾讯计算机系统有限公司, 广东 深圳 51806304,唐秀,浙江大学 软件学院, 浙江 宁波 315100;杭州高新区(滨江)区块链与数据安全研究院, 浙江 杭州 31005905,姚畅,浙江大学 软件学院, 浙江 宁波 315100;杭州高新区(滨江)区块链与数据安全研究院, 浙江 杭州 31005906,陈刚,浙江大学 计算机科学与技术学院, 浙江 杭州 31002707

关键词:JIT编译;混合编译执行;查询优化;谓词下推;可插拔架构优化

基金:国家重点研发计划(2023YFC3603103); 浙江省“尖兵领雁+X”研发攻关计划(2024C01019)

数据库系统作为数据存储与处理的基础设施, 其性能对现代社会的运行效率具有重要影响. 随着内存技术的进步及SSD (solid state drive)的广泛应用, 磁盘数据库的性能瓶颈逐渐转向CPU的利用率和内存管理的优化. 现代数据库系统通常采用解释执行的方式处理查询, 造成了大量虚函数调用、上下文切换和高速缓存未命中, 不能充分发挥现代CPU的流水线和缓存机制, 导致低效的查询执行效率, 尤其是在大数据量和复杂查询的场景中表现更为明显. 为了解决上述问题, 针对传统数据库解释执行提供若干JIT (just-in-time)编译优化方案, 并在MySQL数据库中进行验证. 首先给出利用LLVM (low level virtual machine)编译器将SQL谓词在运行时转换为机器码的方案代替解释执行, 以减少虚函数调用和系统上下文切换的开销. 接着提出混合编译与解释执行的方案, 扩展了JIT编译执行的适用范围. 最后针对日益流行的可插拔数据库系统架构设计了一种将JIT机器码推送至存储引擎层的查询下推方案, 避免不必要的数据传输和计算开销. 实验结果表明, 启用JIT编译后, MySQL的查询性能显著提升, 尤其在处理复杂查询和大数据量的场景, JIT编译系统能够有效降低解释执行带来的开销, 显著提高系统的响应速度和吞吐量. 在类TPC-H的测试中, 对比原生MySQL, 采用JIT编译执行的系统性能提升可达148%.

来源:2026年第3期

《软件学报》期刊编辑部

查看软件学报杂志2026年第3期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员