SQL执行原理
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