2023-03-08 mysql列存储数据库-查询执行过程分析
2023-09-27 14:25:42 时间
摘要:
在mysql的sql层和存储引擎的交互模式中, 存储引擎实现handler接口, 由SQL层负责调用接口, 所以执行的过程可以看作是在sql层中, innodb仅提供接口。
但是在mysql列存储引擎中, TMD直接替换掉了sql层的执行接口,并且将sql层的查询树转换成了自己的一套查询树, 然后根据自己的查询树执行查询。
本文以以TPCH-Q16为例进行分析查询执行过程。
DML
查询SQL
select
p_brand,
p_type,
p_size,
count(distinct ps_suppkey) as supplier_cnt
from
partsupp,
part
where
p_partkey = ps_partkey
and p_brand <> 'Brand#34'
and p_type not like 'LARGE BRUSHED%'
and p_size in (48, 19, 12, 4, 41, 7, 21, 39)
and ps_suppkey not in (
select
s_suppkey
from
supplier
where
s_comment like '%Customer%Complaints%'
)
group by
p_brand,
p_type,
p_size
having supplier_cnt = 7
相关文章
- 云图说:云数据库 RDS for MySQL一键开通读写分离,轻松应对业务高峰期
- 面试官问:mysql中时间日期类型和字符串类型的选择
- Java架构师-分布式(七):数据库读写分离、分库分表【使用MyCat数据库中间件】【MyCat本身不存储数据,数据都是存储在MyCat后面连接的MySql上,数据的可靠性和事务都是MySql保证的】
- MySQL之权限管理
- MySQL数据库性能优化思路与解决方法(一转)
- IntelliJ IDEA通过Spring配置连接MySQL数据库
- JDBC对MySQL数据库存储过程的调用
- 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
- [数据库]MYSQL之InnoDB存储引擎 VS MYISAM存储引擎
- 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比
- 数据库:Mysql中“select ... for update”排他锁分析
- Windows通过data文件夹恢复mysql数据库
- PowerDesigner逆向工程导入MYSQL数据库总结
- 困惑:MySQL大数据库导入导出的问题
- Mysql创建数据库以及用户分配权限
- 【基于Java+MySQL等技术的企业员工信息管理系统设计与实现】(源代码+数据库+论文+PPT+视频讲解部署 获取)
- crontab自动备份MySQL数据库并删除5天前备份
- mysql命令创建数据库库名特殊字符
- 使用Navicat连接阿里云ECS服务器上的MySQL数据库