「分布式技术专题」剖析一个SQL的解析及执行过程

无所不能的程序猿吐出一句魔法[SQL],刹那间,IO 犹如千军万马奔流不息,内存 似鲸吸牛饮,海纳百川,CPU 更是狂暴着以360%负荷高速运转,瞬间,一个美妙的身影出现了……
一条SQL的背后,数据库到底做了什么,本文将深入浅出的聊一下SQL的解析和执行过程。

一、SQL简介
SQL是上世纪70年代,基于关系型数据库发明的一种简洁的数据操作语言。
SQL按功能可以分为以下三种类型:
• 数据定义语言 DDL
主要用于创建库表、索引,设定字段类型,以及指定存储和压缩格式等。
• 数据控制语言 DCL
主要用于创建用户,以及分配角色权限。
• 数据操纵语言 DML
主要指数据的增删改查等操作。

业务模型与SQL的关系:SQL是业务本质的浓缩,如以下银行或证券行业的常见业务。
• OLAP类型业务

  • 银行计算一个人的信用评分及风险等级
  • 券商统计一个年龄段群体的股票喜爱偏好
  • 银行为客户群打标签,制定用户画像
    • OLTP类型业务
  • 个人在证券市场开户或购买某只股票
  • 柜台办理的各种业务
  • 手机APP端用户的各种操作
    每个业务模型,最终都会转化为一条SQL语句的执行。SQL中包含了你要查询的实体表名称,分组、排序字段,过滤条件等等。

二、SQL的生命周期
生活中,我们做事的步骤一般是先设定目标、然后制定计划、最后实践。
数据库中,一条SQL语句就是要完成的目标;SQL会被编译器解析生成执行计划;最后交由执行器去存储引擎中完成实际的数据操作。
详细的生命周期可以划分为建立连接、词法和语法解析、逻辑计划、RBO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值