当前位置: 首页 > news >正文

推理模型对SQL理解能力的评测:DeepSeek r1、GPT-4o、Kimi k1.5和Claude 3.7 Sonnet

引言

随着大型语言模型(LLMs)在技术领域的应用日益广泛,评估这些模型在特定技术任务上的能力变得越来越重要。本研究聚焦于四款领先的推理模型——DeepSeek r1、GPT-4o、Kimi k1.5和Claude 3.7 Sonnet在SQL理解与分析方面的能力,特别是它们判断SQL查询等价性的表现。

评测方法

我们设计了一个具有挑战性的测试案例[注1]:使用TPC-H基准测试中的一个原始SQL查询,以及通过专业SQL优化工具PawSQL重写后的查询版本。这两个查询在语法结构上有明显差异,但在语义上是等价的。我们要求四个模型分析这两个查询是否等价,并评估它们的推理过程和结论。

测试查询

原始SQL查询

select ps.ps_partkey, 
     sum(ps.ps_supplycost * ps.ps_availqty) as value
from partsupp as ps, supplier, nation
where ps.ps_suppkey = supplier.s_suppkey
     and supplier.s_nationkey = nation.n_nationkey
     and nation.n_name = 'JAPAN'
group by ps.ps_partkey
having sum(ps.ps_supplycost * ps.ps_availqty)
     > (select sum(ps_supplycost * ps_availqty) * 0.0001
        from partsupp, supplier, nation
        where ps_partkey = ps.ps_partkey
            and ps_suppkey = s_suppkey
            and s_nationkey = n_nationkey
            and n_name = 'JAPAN')
order by value desc

重写优化后的SQL查询:标量子查询解关联

select ps.ps_partkey, 
    sum(ps.ps_supplycost * ps.ps_availqty) as value
from partsupp as ps, supplier, nation , (
    select ps_partkey, sum(ps_supplycost * ps_availqty) * 0.0001 as null_
    from partsupp, supplier, nation
    where ps_suppkey = s_suppkey
      and s_nationkey = n_nationkey
      and n_name = 'JAPAN'
    group by ps_partkey) as SQ
where ps.ps_suppkey = s_suppkey
  and s_nationkey = n_nationkey
  and n_name = 'JAPAN'
  and SQ.ps_partkey = ps.ps_partkey
group by ps.ps_partkey
having sum(ps.ps_supplycost * ps.ps_availqty) > sum(SQ.null_)
order by value desc

模型分析结果

DeepSeek r1(推理用时59秒)

DeepSeek r1推理用时约59秒,正确判断两个查询在逻辑上等价的。

图片

它的分析重点包括:

  1. 查询逻辑对比:区分了第一个查询使用关联子查询与第二个查询使用内联视图预计算的不同实现方式。

  2. 等价性验证:详细分析了子查询作用域、计算值一致性和过滤条件,指出第二个查询中的sum(SQ.null_)实际上等价于直接取SQ.null_,因为每个ps_partkeySQ中唯一。

  3. 性能差异:识别出第二个查询通过预计算和连接优化避免了多次扫描,执行效率可能更高。PawSQL的优化结果也确实证明整体性能从192秒降低到0.065s,性能提升超过1000倍[1]。

    GPT-4o(推理时间26秒)

    GPT-4o推理用时26秒,同样得出了两个查询等价的正确结论。

    图片

    它的分析主要关注:

    1. 子查询的写法差异:识别出第一个SQL使用相关子查询,而第二个SQL将计算逻辑放到内联子查询中。

    2. 执行方式差异:指出尽管执行计划有所不同,但两个查询的语义和最终结果相同。

    GPT-4o的分析简洁明了,直接抓住了查询优化的本质:通过提前计算派生表的聚合值以提高性能,同时保持结果一致性。

    Kimi k1.5(用时1分钟8秒)

    Kimi k1.5推理用时1分钟8秒,而且错误地认为两个查询不完全等价。

    图片

    其重点分析包括:

    1. 子查询位置和逻辑:认为两个查询在子查询位置和处理逻辑上存在差异。

    2. 分组和筛选逻辑:误解了第一个查询是全局计算一个单一阈值,而第二个查询按ps_partkey分组计算独立阈值。

    3. 结果差异:基于上述误解,得出两个查询可能返回不同结果的错误结论。

    Kimi的分析反映出它在理解SQL查询语义,特别是子查询与主查询关系方面的局限性。

    Claude 3.7 Sonnet

    Claude 3.7 Sonnet也得出了查询不等价的错误结论。

    图片

    它的分析关注点包括:

    1. 子查询处理方式:正确识别出两个查询在子查询实现上的差异。

    2. HAVING子句条件比较:误认为第二个查询中的sum(SQ.null_)会对派生表结果再次聚合,改变比较语义。

    3. 修改建议:提出将第二个查询的HAVING条件修改为直接使用SQ.null_而非sum(SQ.null_)

    Claude的分析显示了对SQL聚合函数在不同上下文中行为理解的不足。

    评测结论

    1. DeepSeek r1和GPT-4o展示了较强的SQL语义理解能力,不仅给出了正确结论,还能准确解释优化过程中的语义保持。

    2. Kimi k1.5和Claude 3.7 Sonnet在处理复杂SQL转换和子查询优化时存在明显局限,尤其是在理解聚合函数与JOIN操作的交互方面有待提高。

    3. 模型表现差异可能反映了训练数据中SQL相关内容的质量和数量差异,以及模型对数据库查询执行机制的理解深度不同。

    启示

    尽管大型语言模型在SQL理解和分析方面取得了显著进展,本研究结果也凸显了专业SQL优化工具(如PawSQL)在实际数据库优化工作中的不可替代性。

    1. 优化精确性与可靠性:专业工具基于数据库理论和实践,确保查询转换的语义等价性,而LLMs在复杂SQL查询的理解上仍存在不确定性。

    2. 性能优化的系统性与全面性:专业工具可以基于数据库引擎特性和统计信息进行优化,考虑索引使用、连接顺序、谓词下推等多维度优化,生成可预测的、一致的优化结果。

    3. 生产环境中的稳定性与可控性:在生产环境中,SQL查询优化需要考虑优化的可预测性和一致性、与现有应用系统的兼容性以及对边缘情况的稳健处理。专业工具在这些方面提供了更高的可靠性和可控性。

    4. 工具协同: 构建LLMs与专业SQL优化工具协同工作的方法,可能是提高数据库优化效率和可靠性的有效途径。

    总结

    通过SQL等价性分析任务,揭示了当前顶级推理模型在处理专业技术领域问题时的能力差异。尽管部分模型展现了对SQL语义理解的能力,但专业SQL优化工具在实际生产环境中的价值仍不可替代。随着技术发展,LLMs与专业工具的结合使用可能成为未来数据库优化的最佳实践。

    [*注1] 本文使用的优化案例:

    https://www.pawsql.com/statement/1897947325217640449

    相关文章:

  1. H3C交换机的VRRP配置
  2. Ansible运行原理揭秘:如何用YAML脚本掌控数服务器?
  3. 第二篇:CTF常见题型解析:密码学、逆向工程、漏洞利用、Web安全
  4. vue3 element-plus form校验不生效
  5. python-leetcode-递增的三元子序列
  6. 详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本
  7. 数据库系统概论(三)数据库系统的三级模式结构
  8. 软考 中级软件设计师 考点知识点笔记总结 day03
  9. Blender UV纹理贴图,导出FBX到Unity
  10. SqlSugar 进阶之原生Sql操作与存储过程写法 【ORM框架】
  11. centos安装python3.9.9总结和笔记
  12. coze ai assistant Task 1
  13. Java中的常用关键字
  14. 基于SpringBoot的校园二手交易平台(计算机毕设-JAVA)
  15. Oracle/MySQL/PostgreSQL 到信创数据库数据同步简介
  16. uniapp在APP平台(Android/iOS)选择非媒体文件
  17. 参考thinkphp架构的FastAPI实现思路
  18. 【AI大模型】LLM训练deepseek如何识别视频
  19. 基于腾讯云高性能HAI-CPU的跨境电商客服助手全链路解析
  20. leetcode-数组操作
  21. 问责!美国海军对“杜鲁门”号航母一系列事故展开调查
  22. 日本航空自卫队一架练习机在爱知县坠毁
  23. 河南信阳拟发文严控预售许可条件:新出让土地开发的商品房一律现房销售
  24. 大外交|中美联合声明拉升全球股市,专家:中美相向而行为世界提供确定性
  25. 长三角议事厅·周报|从模速空间看上海街区化AI孵化模式
  26. 白玉兰奖征片综述丨综艺市场破局焕新,多元赛道重塑价值坐标