SQL执行原理

ffxqc / 2023-09-04 / 原文

1.MYSQL的架构

 ·connectors:连接,支持多种协议、多种语言

·management、service:系统的管理和控制工具,例如:备份和集群副本管理

·pool:连接池

·sql Interface:sql接口,接收命令和返回结果

·Parser:对内容进行校验

·Optimizer:优化器,优化执行效率

·cacher and buffer:缓冲区

·storage engines:存储引擎,插电式,可插拔

·file system:文件系统

 

mysql的基本架构和执行流程

sql layer和storage engine layer

 

 2.行列转换

(1)纵表转横表

>decode函数,

case 字段

      when 值1 then 结果1

      when 值2 then 结果2

      ...

     else 结果n

 end

eg:select ename

      sum(case course when 'mysql' then score else 0 end) mysql

      sum(case course when 'python' then score else 0 end) python

     from stu group by ename

>GROUP_CONCAT()字段值合并:

select ename,GROUP_CONCAT(course),GROUP_CONCAT(score) from stu group by ename

(2)横表转纵表

select ename, ‘mysql’ course ,mysql score from vstu

 union all

select ename, ‘python’ course ,python score from vstu