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调优的成本一般会比单机数据库高。

相关文章
|
5月前
|
人工智能 自然语言处理 API
AI-Compass LLM推理框架+部署生态:整合vLLM、SGLang、LMDeploy等顶级加速框架,涵盖本地到云端全场景部署
AI-Compass LLM推理框架+部署生态:整合vLLM、SGLang、LMDeploy等顶级加速框架,涵盖本地到云端全场景部署
AI-Compass LLM推理框架+部署生态:整合vLLM、SGLang、LMDeploy等顶级加速框架,涵盖本地到云端全场景部署
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
基于星海智算云平台部署 DeepSeek-R1系列 70b 模型全攻略(附平台福利)
本文介绍了如何在星海智算云平台上部署DeepSeek-R1系列70B模型,解决官网访问不畅的问题。通过云端部署,用户可以按需付费,避免本地部署高昂成本(高达两百多万)。文章详细讲解了从实例创建到开始使用DeepSeek的八个步骤,并提供了成本优化技巧和新手注意事项。推荐使用双A100显卡,每小时费用仅13.32元。新用户还可领取福利,享受高性价比服务。立即注册体验:[星海智算云平台](https://gpu.spacehpc.com/user/register?inviteCode=52872508)。
862 1
基于星海智算云平台部署 DeepSeek-R1系列 70b 模型全攻略(附平台福利)
|
运维 监控 安全
什么是API?
API全称Application Programming Interface,即应用程序编程接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定,用于传输数据和指令,使应用程序之间可以集成和共享数据资源。
1932 10
|
存储 关系型数据库 MySQL
利用Xtrabackup进行mysql增量备份和全量备份
利用Xtrabackup进行mysql增量备份和全量备份
1350 0
|
安全 搜索推荐 网络协议
互联网流量编排方案
【2月更文挑战第23天】
|
数据采集 搜索推荐 关系型数据库
分享65个Python管理系统源代码总有一个是你想要的
分享65个Python管理系统源代码总有一个是你想要的
1758 0
DHL
|
算法 安全 Shell
解决Android Studio版本大于3.2找不到Android Device Monitor工具
解决Android Studio版本大于3.2找不到Android Device Monitor工具
DHL
721 0
解决Android Studio版本大于3.2找不到Android Device Monitor工具
|
前端开发
第91天:CSS3 属性选择器、伪类选择器和伪元素选择器
一、属性选择器 其特点是通过属性来选择元素,具体有以下5种形式: 1、E[attr] 表示存在attr属性即可;    div[class] 2、E[attr=val] 表示属性值完全等于val;    div[class=mydemo] 3、E[attr*=val] 表示的属性值里包含val字符并...
1364 0
|
Web App开发 关系型数据库 PHP