PARROT: A Benchmark for Evaluating LLMs in Cross-System SQL Translation

📄 arXiv: 2509.23338v1 📥 PDF

作者: Wei Zhou, Guoliang Li, Haoyu Wang, Yuxing Han, Xufei Wu, Fan Wu, Xuanhe Zhou

分类: cs.DB, cs.AI, cs.CL, cs.IR, cs.LG

发布日期: 2025-09-27

备注: To appear in NeurIPS 2025. Welcome your submission to challenge our leaderboard at: https://code4db.github.io/parrot-bench/. Also visit our code repository at: https://github.com/weAIDB/PARROT

🔗 代码/项目: PROJECT_PAGE


💡 一句话要点

PARROT:用于评估LLM跨系统SQL转换能力的基准测试

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: SQL转换 跨系统数据库 大型语言模型 基准测试 数据库迁移

📋 核心要点

  1. 现有SQL基准测试在跨系统SQL转换任务上存在不足,主要体现在数据库系统覆盖范围有限和缺乏对系统特定SQL方言的考虑。
  2. PARROT基准测试旨在提供一个实用且真实的跨系统SQL转换评估平台,包含来自多个数据库系统的翻译对,并覆盖各种SQL方言。
  3. 实验结果表明,现有LLM在PARROT基准测试上表现不佳,平均准确率低于38.53%,突显了跨系统SQL转换任务的挑战性。

📝 摘要(中文)

大型语言模型(LLM)在文本到SQL任务中表现出越来越高的有效性。然而,另一个密切相关的问题,即跨系统SQL转换(又称SQL到SQL),它将为一种数据库系统(例如,MySQL)编写的查询适配为另一种系统(例如,ClickHouse)的等效查询,具有重要的实际意义,但仍未得到充分探索。现有的SQL基准测试不太适合SQL到SQL的评估,因为它们(1)侧重于有限的数据库系统(通常只有SQLite),并且(2)无法捕获许多系统特定的SQL方言(例如,自定义函数、数据类型和语法规则)。因此,在本文中,我们介绍了PARROT,一个用于跨系统SQL转换的实用且真实的基准测试。PARROT包含来自38个开源基准测试和真实业务服务的598个翻译对,专门用于挑战系统特定的SQL理解(例如,LLM的平均准确率低于38.53%)。我们还提供了多个基准测试变体,包括包含28,003个翻译的PARROT-Diverse(用于广泛的语法测试)和包含5,306个代表性样本的PARROT-Simple(用于集中的压力测试),涵盖22个生产级数据库系统。为了促进未来的研究,我们发布了一个公共排行榜和源代码:https://code4db.github.io/parrot-bench/。

🔬 方法详解

问题定义:论文旨在解决跨系统SQL转换问题,即如何将一个数据库系统(如MySQL)的SQL查询转换为另一个数据库系统(如ClickHouse)的等效查询。现有方法主要集中在Text-to-SQL任务,缺乏对SQL-to-SQL转换的关注,并且现有SQL基准测试无法充分评估跨系统SQL转换,因为它们覆盖的数据库系统有限,且难以捕捉系统特定的SQL方言。

核心思路:论文的核心思路是构建一个更全面、更真实的跨系统SQL转换基准测试,即PARROT。该基准测试包含来自多个开源基准测试和真实业务服务的翻译对,覆盖多种数据库系统和SQL方言,从而更有效地评估LLM在跨系统SQL转换任务中的能力。

技术框架:PARROT基准测试包含598个翻译对,来自38个开源基准测试和真实业务服务,涵盖22个生产级数据库系统。此外,还提供了PARROT-Diverse和PARROT-Simple两个变体,分别用于广泛的语法测试和集中的压力测试。该基准测试提供了一个公共排行榜和源代码,方便研究人员进行评估和比较。

关键创新:PARROT的关键创新在于其全面性和真实性。它不仅覆盖了更多的数据库系统和SQL方言,还包含了来自真实业务服务的翻译对,从而更贴近实际应用场景。此外,PARROT还提供了多个变体,以满足不同研究需求。

关键设计:PARROT的设计重点在于选择具有代表性的翻译对,并确保覆盖各种SQL方言。为了实现这一目标,作者从多个开源基准测试和真实业务服务中收集数据,并进行人工筛选和验证。此外,作者还设计了PARROT-Diverse和PARROT-Simple两个变体,以提供更全面的评估。

🖼️ 关键图片

img_0

📊 实验亮点

PARROT基准测试表明,现有LLM在跨系统SQL转换任务中表现不佳,平均准确率低于38.53%。这突显了该任务的挑战性,并表明需要进一步研究和开发更有效的跨系统SQL转换方法。PARROT的发布将促进相关研究的进展。

🎯 应用场景

PARROT基准测试可用于评估和改进LLM在跨系统SQL转换任务中的能力,从而提高数据库迁移和集成的效率。该研究成果可应用于企业数据仓库、云数据库服务等领域,帮助用户更轻松地在不同数据库系统之间迁移和共享数据。

📄 摘要(原文)

Large language models (LLMS) have shown increasing effectiveness in Text-to-SQL tasks. However, another closely related problem, Cross-System SQL Translation (a.k.a., SQL-to-SQL), which adapts a query written for one database system (e.g., MySQL) into its equivalent one for another system (e.g., ClickHouse), is of great practical importance but remains underexplored. Existing SQL benchmarks are not well-suited for SQL-to-SQL evaluation, which (1) focus on a limited set of database systems (often just SQLite) and (2) cannot capture many system-specific SQL dialects (e.g., customized functions, data types, and syntax rules). Thus, in this paper, we introduce PARROT, a Practical And Realistic BenchmaRk for CrOss-System SQL Translation. PARROT comprises 598 translation pairs from 38 open-source benchmarks and real-world business services, specifically prepared to challenge system-specific SQL understanding (e.g., LLMS achieve lower than 38.53% accuracy on average). We also provide multiple benchmark variants, including PARROT-Diverse with 28,003 translations (for extensive syntax testing) and PARROT-Simple with 5,306 representative samples (for focused stress testing), covering 22 production-grade database systems. To promote future research, we release a public leaderboard and source code at: https://code4db.github.io/parrot-bench/.