RISE: Rule-Driven SQL Dialect Translation via Query Reduction
作者: Xudong Xie, Yuwei Zhang, Wensheng Dou, Yu Gao, Ziyu Cui, Jiansen Song, Rui Yang, Jun Wei
分类: cs.DB, cs.AI, cs.CL, cs.SE
发布日期: 2026-01-09
备注: Accepted by ICSE 2026
💡 一句话要点
RISE:通过查询简化实现规则驱动的SQL方言翻译
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: SQL方言翻译 大型语言模型 查询简化 规则提取 数据库迁移
📋 核心要点
- 现有SQL方言翻译工具依赖手动规则,新增数据库和方言需大量人工。
- RISE通过简化查询,利用LLM提取翻译规则,再应用于复杂查询。
- RISE在TPC-DS和SQLProcBench上分别实现了97.98%和100%的准确率。
📝 摘要(中文)
本文提出了一种基于大型语言模型(LLM)的SQL方言翻译方法RISE,旨在准确处理冗长且复杂的SQL查询。对于包含方言d的复杂源查询Qc,RISE首先采用一种方言感知的查询简化技术,通过移除Qc中与d无关的SQL元素,得到一个简化查询Qs。然后,利用LLM将Qs翻译成Qs',并基于Qs和Qs'之间的关系自动提取方言d的翻译规则rd。通过将rd应用于Qc,可以有效地翻译Qc中的方言d,从而绕过源查询Qc的复杂性。在TPC-DS和SQLProcBench两个真实世界的基准测试中,RISE的性能优于传统的基于规则的工具和基于LLM的方法,在翻译准确率方面分别平均提高了24.62%和238.41%,达到了97.98%和100%的准确率。
🔬 方法详解
问题定义:论文旨在解决不同关系数据库管理系统(RDBMS)之间的SQL方言翻译问题,特别是处理冗长和复杂的SQL查询。现有方法,如传统规则方法,需要大量人工维护规则,成本高昂。而直接使用LLM翻译复杂SQL查询,效果往往不佳,难以保证准确性。
核心思路:RISE的核心思路是“分而治之”。首先,通过查询简化技术,将复杂的SQL查询分解为更易于处理的简化查询。然后,利用LLM翻译简化查询,并从中提取翻译规则。最后,将提取的规则应用于原始复杂查询,完成翻译。这种方法降低了LLM处理复杂查询的难度,提高了翻译的准确性。
技术框架:RISE主要包含三个阶段:1) 方言感知查询简化:从复杂源查询中移除与目标方言无关的SQL元素,得到简化查询。2) 基于LLM的翻译规则提取:利用LLM将简化查询翻译成目标方言,并自动提取翻译规则。3) 规则应用:将提取的翻译规则应用于原始复杂查询,完成方言翻译。
关键创新:RISE的关键创新在于其方言感知的查询简化技术和自动翻译规则提取方法。查询简化技术能够有效降低LLM处理复杂查询的难度,提高翻译效率和准确性。自动翻译规则提取方法避免了手动维护规则的繁琐工作,降低了成本。
关键设计:方言感知查询简化需要预先定义不同方言的特征,例如特定函数、关键字等。查询简化的具体实现方式未知,可能涉及语法树分析、模式匹配等技术。LLM的选择和prompt设计对翻译规则提取的质量至关重要。规则应用阶段需要考虑规则的优先级和冲突解决策略,以确保翻译的正确性。
📊 实验亮点
RISE在TPC-DS和SQLProcBench两个真实世界的基准测试中进行了评估,并与传统规则方法和直接使用LLM的方法进行了比较。实验结果表明,RISE在翻译准确率方面显著优于基线方法,在TPC-DS上达到了97.98%的准确率,平均提升了24.62%;在SQLProcBench上达到了100%的准确率,平均提升了238.41%。
🎯 应用场景
RISE可应用于RDBMS应用向云平台的迁移,降低迁移成本和风险。它还可以用于构建跨数据库的统一数据访问接口,方便用户在不同数据库之间进行数据查询和分析。该研究成果有助于推动数据库技术的自动化和智能化发展。
📄 摘要(原文)
Translating SQL dialects across different relational database management systems (RDBMSs) is crucial for migrating RDBMS-based applications to the cloud. Traditional SQL dialect translation tools rely on manually-crafted rules, necessitating significant manual effort to support new RDBMSs and dialects. Although large language models (LLMs) can assist in translating SQL dialects, they often struggle with lengthy and complex SQL queries. In this paper, we propose RISE, a novel LLM-based SQL dialect translation approach that can accurately handle lengthy and complex SQL queries. Given a complex source query $Q_c$ that contains a SQL dialect $d$, we first employ a dialect-aware query reduction technique to derive a simplified query $Q_{s}$ by removing $d$-irrelevant SQL elements from $Q_c$. Subsequently, we utilize LLMs to translate $Q_{s}$ into $Q_{s^{'}}$, and automatically extract the translation rule $r_d$ for dialect $d$ based on the relationship between $Q_{s}$ and $Q_{s^{'}}$. By applying $r_d$ to $Q_c$, we can effectively translate the dialect $d$ within $Q_c$, thereby bypassing the complexity of the source query $Q_c$. We evaluate RISE on two real-world benchmarks, i.e., TPC-DS and SQLProcBench, comparing its performance against both the traditional rule-based tools and the LLM-based approaches with respect to translation accuracy. RISE achieves accuracies of 97.98% on TPC-DS and 100% on SQLProcBench, outperforming the baselines by an average improvement of 24.62% and 238.41%, respectively.