冰河技术
导读
♻学习路线
  • 面试必问系列

    • 面试必问
  • 架构与模式

    • Java极简设计模式
    • 实战高并发设计模式
  • Java核心技术

    • Java8新特性
    • IOC核心技术
    • JVM调优技术
  • 容器化核心技术

    • Dockek核心技术
  • 分布式存储

    • Mycat核心技术
  • 数据库核心技术

    • MySQL基础篇
  • 服务器核心技术

    • Nginx核心技术
  • 渗透核心技术

    • 渗透实战技术
  • 底层技术
  • 源码分析
  • 基础案例
  • 实战案例
  • 面试
  • 系统架构
  • Spring6核心技术
  • 分布式事务

    • 分布式事务系列视频
  • SpringBoot
  • SpringCloudAlibaba
  • 🔥AI大模型项目

    • 一站式AI智能平台
    • AI智能客服系统
    • AI智能问答系统
    • 实战AI大模型
  • 中间件项目

    • 手写高性能Redis组件
    • 手写高性能脱敏组件
    • 手写线程池项目
    • 手写高性能SQL引擎
    • 手写高性能Polaris网关
    • 手写高性能RPC项目
  • 高并发项目

    • 分布式IM即时通讯系统(新)
    • 分布式Seckill秒杀系统
    • 实战高并发设计模式
  • 微服务项目

    • 简易电商脚手架项目
  • 手撕源码

    • 手撕Spring6源码
🌍知识星球
  • 总览

    • 《书籍汇总》
  • 出版图书

    • 《深入理解高并发编程:核心原理与案例实战》
    • 《深入理解高并发编程:JDK核心技术》
    • 《深入高平行開發:深度原理&專案實戰》
    • 《深入理解分布式事务:原理与实战》
    • 《MySQL技术大全:开发、优化与运维实战》
    • 《海量数据处理与大数据技术实战》
  • 电子书籍

    • 《实战高并发设计模式》
    • 《深入理解高并发编程(第2版)》
    • 《深入理解高并发编程(第1版)》
    • 《从零开始手写RPC框架(基础篇)》
    • 《SpringCloud Alibaba实战》
    • 《冰河的渗透实战笔记》
    • 《MySQL核心知识手册》
    • 《Spring IOC核心技术》
  • 关于自己
  • 关于学习
  • 关于职场
B站
Github
导读
♻学习路线
  • 面试必问系列

    • 面试必问
  • 架构与模式

    • Java极简设计模式
    • 实战高并发设计模式
  • Java核心技术

    • Java8新特性
    • IOC核心技术
    • JVM调优技术
  • 容器化核心技术

    • Dockek核心技术
  • 分布式存储

    • Mycat核心技术
  • 数据库核心技术

    • MySQL基础篇
  • 服务器核心技术

    • Nginx核心技术
  • 渗透核心技术

    • 渗透实战技术
  • 底层技术
  • 源码分析
  • 基础案例
  • 实战案例
  • 面试
  • 系统架构
  • Spring6核心技术
  • 分布式事务

    • 分布式事务系列视频
  • SpringBoot
  • SpringCloudAlibaba
  • 🔥AI大模型项目

    • 一站式AI智能平台
    • AI智能客服系统
    • AI智能问答系统
    • 实战AI大模型
  • 中间件项目

    • 手写高性能Redis组件
    • 手写高性能脱敏组件
    • 手写线程池项目
    • 手写高性能SQL引擎
    • 手写高性能Polaris网关
    • 手写高性能RPC项目
  • 高并发项目

    • 分布式IM即时通讯系统(新)
    • 分布式Seckill秒杀系统
    • 实战高并发设计模式
  • 微服务项目

    • 简易电商脚手架项目
  • 手撕源码

    • 手撕Spring6源码
🌍知识星球
  • 总览

    • 《书籍汇总》
  • 出版图书

    • 《深入理解高并发编程:核心原理与案例实战》
    • 《深入理解高并发编程:JDK核心技术》
    • 《深入高平行開發:深度原理&專案實戰》
    • 《深入理解分布式事务:原理与实战》
    • 《MySQL技术大全:开发、优化与运维实战》
    • 《海量数据处理与大数据技术实战》
  • 电子书籍

    • 《实战高并发设计模式》
    • 《深入理解高并发编程(第2版)》
    • 《深入理解高并发编程(第1版)》
    • 《从零开始手写RPC框架(基础篇)》
    • 《SpringCloud Alibaba实战》
    • 《冰河的渗透实战笔记》
    • 《MySQL核心知识手册》
    • 《Spring IOC核心技术》
  • 关于自己
  • 关于学习
  • 关于职场
B站
Github
  • 专栏介绍

    • 开篇:我要手把手教你手搓一个高性能SQL引擎项目
  • 第01部分:需求设计

    • 第01节:为何要学习高性能SQL引擎项目
    • 第02节:高性能SQL引擎项目的目标与挑战
    • 第03节:高性能SQL引擎功能需求与流程梳理
  • 第02部分:总体架构设计

    • 第01节:高性能SQL引擎总体方案目标与架构设计
    • 第02节:高性能SQL引擎的通用化落地方案
  • 第03部分:通用模型设计

    • 第01节:高性能SQL引擎通用数据模板设计与实现
    • 第02节:高性能SQL引擎通用数据模型设计与实现
  • 第04部分:SQL引擎设计

    • 第01节:高性能SQL引擎SQL构建器设计与实现
    • 第02节:高性能SQL引擎驱动引擎设计与实现
  • 第05部分:SQL引擎实战

    • 第01节:基于通用模型动态生成SQL
    • 第02节:基于通用模板动态生成SQL
  • 第06部分:性能测试

    • 第01节:高性能SQL引擎基准性能测试
    • 第02节:高性能SQL引擎压力性能测试
  • 第07部分:专栏总结

    • 总结:高性能SQL引擎整体专栏总结

《高性能SQL引擎》SQL引擎设计-第01节:高性能SQL引擎SQL构建器设计与实现

作者:冰河
星球:http://m6z.cn/6aeFbs
博客:https://binghe.site
文章汇总:https://binghe.site/md/all/all.html
源码获取地址:https://t.zsxq.com/0dhvFs5oR

沉淀,成长,突破,帮助他人,成就自我。

  • 本节难度:★★☆☆☆
  • 本节重点:对高性能SQL引擎的SQL构建器进行设计与实现,从全局视角了解高性能SQL引擎的设计和架构思想,并能够将其灵活应用到自身实际项目中。

大家好,我是冰河~~

高性能SQL引擎最基础和最核心的功能就是通过JSON模板或者直接创建对象组合动态生成SQL,不再依赖各种实体模型来接收和传递数据。同时,高性能SQL引擎自身会设计和实现通用的数据模型。要想将这些通用的数据模型构建成通用的JSON模板或者创建对象组合动态SQL,则需要为高性能SQL引擎设计和实现专门的SQL构建器。

一、前言

截止到目前,我们已经明确了高性能SQL引擎的需求和流程,并且对高性能SQL引擎的方案目标、总体架构设计和内部执行流程进行了总体介绍,并且已经对高性能SQL引擎的通用化落地方案进行了详细的阐述。同时,在通用模型设计篇章,对高性能SQL引擎的通用数据模板和通用数据模型等进行了设计与实现。接下来,我们就需要思考如何设计和实现SQL构建器将这些通用的数据模型构建成通用的JSON模板或者创建对象组合动态SQL。

二、本节诉求

对高性能SQL引擎的SQL构建器进行设计与实现,从全局视角了解高性能SQL引擎的设计和架构思想,并能够将其灵活应用到自身实际项目中。

三、SQL构建器设计

SQL构建器在整体流程上会由SQL引擎进行驱动执行,并且SQL构建器会按照设计好的流程执行生成SQL的逻辑,如图1-1所示。


可以看到,SQL构建器在SQL引擎的驱动下,经过一系列设计好的流程,将各个通用模型,包括:表模型、分组与聚合模型、关联模型、条件模型、分页模型和排序模型等,进行解析和拼接,最终生成我们想要的完整SQL语句。

四、SQL构建器实现

由于SQL构建器的代码实现相对比较复杂,代码量较多,这里,只给出SQL构建器的一部分代码实现,完整的实现代码,大家可以到本节对应的代码分支进行查看。

(1)实现核心成员变量

对于SQL构建器来说,在生成SQL的过程中,需要将一些中间状态或者中间碎片化的SQL语句保存在成员变量中,所以需要为SQL构建器定义一些成员变量。

源码详见:io.binghe.sql.plugin.builder.SqlBuilder。

查看完整文章

加入冰河技术知识星球,解锁完整技术文章、小册、视频与完整代码

在 GitHub 上编辑此页
上次更新: 2026/4/29 16:18
Contributors: binghe001
Next
第02节:高性能SQL引擎驱动引擎设计与实现
阅读全文
×

扫码或搜索:冰河技术
发送:290992
即可立即永久解锁本站全部文章

星球会员
跳转链接