2022-08-09 stonedb-子查询性能提升-概论

本文探讨了子查询在MySQL和StonxDB中的重要性及其可能的性能瓶颈,详细解析了MySQL8的子查询优化增强。通过具体案例展示了StonxDB如何提升子查询性能,包括使用查询优化方法论、性能分析工具,以及实施列式存储和避免Nested Loop等策略,实现了显著的性能提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

摘要:

开场白:

一. subquery(子查询)是什么

子查询定义:

为什么需要子查询:

子查询的种类:

二. 为何subquery会成为性能瓶颈

mysql查询处理过程:

发生性能瓶颈的因素:

由资源冲突引发:

由资源耗尽引发:

nested loop引发的

mysql8 子查询优化增强

Join Algorithms

Join Optimizations

主要join算法对比:

stonedb中实际出现的慢子查询:

三. StoneDB对于subquery的性能提升

查询优化方法论

性能分析工具:

以一个慢子查询的例子分析出平静点:

慢子查询explain分析:

性能瓶颈点:

热力图分析:

解决性能瓶颈

优化后的慢SQL的explain分析:

优化后耗时对比:

优化后的热力图分析:

结束语:


摘要:

子查询作为SQL语言中重要的组成部分, 正是子查询使SQL语言真正的成为结构化的查询语言,使SQL的应用范围前所未有的广泛。尤其是OLAP场景,由于业务的复杂性,导致存在大量的子查询。子查询也成为了关系型数据库中执行最为复杂及耗时的部分,如何提升子查询的性能,对于一款OLAP的关系型数据库起到决定性作用。

结合我们stonedb项目对于子查询的实际的优化子查询的经验,开启对于子查询性能提升的讲座系列,希望大家能从我们项目实际的对子查询的优化上,能吸取到经验,也让大家了解到我们公司对于技术的专注以及对于产品精益求精的打磨。

开场白:

我先自我介绍一下吧,我叫悟世,目前在stonedb开发部,然后担任数据库研发工程师岗位。所以一直在做subquery子查询性能提升这个事情。子查询是在整个数据库里边非常重要的,也是涉及到整个数据库性能一个比较核心的地方。所以是专门是针对这个事情,然后以及结合在做的事情以及最应该解决的问题,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值