SQL调优指南—调优基本概念

简介: 分布式数据库相对单机数据库架构有差异,所有在单机数据库的调优经验上分布式数据库又有着自身特点的调优手段。在使用PolarDB-X的过程中,我们会基于统计信息、执行计划和并发策略和执行之后反馈的运行时长等信息,找出导致SQL执行慢的原因,针对性调优。

基本架构

PolarDB-X是一款计算存储分离的分布式数据库产品。当一条查询SQL(称为逻辑SQL)发往PolarDB-X计算节点(CN)时,PolarDB-X会将其分成可下推的、和不可下推的两部分,可下推的部分也被称为物理SQL。不可下推的SQL在CN上执行,下推的SQL在DN上执行。222.png

原则上,PolarDB-X在查询优化过程中尽可能按照以下规则做执行优化:

  • 尽可能将用户SQL下推到DN上执行,除了可以避免CN和DN建数据网络交互以外,还可以充分利用多分片并发执行的能力,利用各个DN资源,加速查询。
  • 对于无法下推的部分算子,优化器会选择最优的方式来执行,比如选择合适的算子执行、选择合适的并行度策略以及是否使用mpp执行。

除此之外,在执行优化过程中会考虑尽可能选择最佳索引。

基本概念

在SQL调优过程中我们还需要理解下列概念:

  • 逻辑SQL: 用户侧发起的查询SQL;
  • 物理SQL:SQL经过查询优化后,一般会拆分为可下推和不可下推的SQL,其中可下推的SQL是发往DN执行的,叫物理SQL。如果逻辑SQL被全部下推到DN执行,那么物理SQL等价于逻辑SQL。
  • 并行度: 指查询过程中数据并行执行的最大数目,对于CN来说就是利用多核能力多线程计算,对DN来说就是同时执行多个下推物理SQL的并行数。
  • 执行计划:逻辑SQL发送到CN节点,会经过解析优化生成可执行的计划树,计划树的每个节点代表是算子。一条可以通过执行计划初步断定查询的快慢,比如是否命中索引、算子选择是否合适等。
  • 索引:PolarDB-X一般分为局部索引和全局索引,局部索引指的是单个DN节点的索引(MYSQL索引),全局索引是指构建在多个DN上的分布式索引。选择合适的索引,可以大大提高PolarDB-X的检索速度。

一条慢查询可能和物理SQL执行快慢、并发度数量、执行计划和索引选择是否合适都有关系。所以在分布式数据库中,SQL调优的成本一般会比单机数据库高。

相关文章
SAP扩充物料的销售视图
比如我们现在有一个物料,这个物料只具备基本视图,我们如何为这个物料补充销售视图呢?先看看这个物料,使用事务码MM03我们无法使用MM02去扩充视图,我们需要使用MM50为它扩充销售视图。维护执行之后,进入类似于MM01的画面,如下图看,我们可以开始扩充这个物料的销售视图了。
4596 0
|
10月前
|
人工智能 关系型数据库 分布式数据库
3月5日(周三),Data+AI Workshop(深圳站)邀您参加!
本期沙龙将深度解析阿里云自研数据库PolarDB与AI的融合,涵盖应用场景、核心技术及实践案例,助力企业快速拥抱AI,实现业务落地和价值创造。立即免费报名参加,前50位参会者还可获精美伴手礼!
|
10月前
|
缓存 Ubuntu Linux
Apt软件包管理工具使用指南
前言 在Linux系统中,apt(Advanced Package Tool)是基于Debian/Ubuntu发行版广泛使用的软件包管理工具之一。它为用户提供了便捷的软件包安装、更新、删除等功能,是管理软件包的重要手段。本文将详细介绍apt的常用命令及其使用方法,帮助用户更好地管理和维护系统中的软件包。
994 2
|
10月前
|
算法 安全 大数据
【算法备案新风向】个人信息保护合规审计来了!关键点全解读
国家网信办发布《个人信息保护合规审计管理办法》,自2025年5月1日起施行。该办法适用于所有在中国境内处理个人信息的主体,特别是处理超1000万人信息的企业需每两年审计一次。触发审计情形包括重大风险、侵害个人权益或大规模信息泄露。企业可自行或委托专业机构审计,报告需报送相关部门。违规将依据《个人信息保护法》处理,严重者追究刑事责任。此举旨在保护个人隐私、规范企业运营,提升公众信任。企业和个人应积极响应,共同营造安全可信的数字环境。
|
Linux 虚拟化 iOS开发
部署06--MacOS安装VMware Fusion安装
部署06--MacOS安装VMware Fusion安装
|
11月前
|
机器学习/深度学习 自然语言处理 数据处理
《量子机器学习:构建量子版神经网络模型》
量子计算与机器学习的融合带来了新机遇。量子卷积神经网络利用量子比特的叠加和纠缠特性,高效处理大规模数据,提升特征提取速度与泛化能力。量子循环神经网络则擅长处理复杂序列数据,通过量子比特状态传递信息,增强计算效率。设计量子神经网络需考虑量子比特选择、状态、操作及网络结构,尽管面临外界干扰等挑战,该模型在图像识别、语音识别等领域展现巨大潜力,未来将推动更多创新。
321 7
|
10月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课10 计算节点全毁, 灾难恢复
本文介绍了在PolarDB RAC一写多读集群中,当所有计算节点(主机)故障仅剩共享存储时的修复方法。实验基于Docker容器和loop设备模拟共享存储环境。通过重建计算节点、恢复PolarDB实例及配置相关参数,最终成功恢复RW和RO节点的功能,确保数据完整性和集群正常运行。视频回放可在B站和YouTube上查看。
250 0
|
算法 搜索推荐 小程序
智慧医院导航系统,技术引领就医流程优化
【摘要】智慧医院导航系统解决患者寻路难题,提高就医效率。政府政策支持导航服务纳入智慧医院标准,系统包括来院规划、院内精准定位、AR实景导航和全程导诊功能,减少患者等待时间,减轻导医台压力,促进医院信息化建设。
543 2
智慧医院导航系统,技术引领就医流程优化
|
IDE 开发工具 Python
python中语法缩进错误处理
【7月更文挑战第8天】
596 2
|
存储 JSON JavaScript
【Python】已完美解决:TypeError: the JSON object must be str, bytes or bytearray, not dict
【Python】已完美解决:TypeError: the JSON object must be str, bytes or bytearray, not dict
824 1