tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

SQL 调优概述

PDF
聚焦模式
字号
最后更新时间: 2026-03-23 16:01:10
SQL 是一种声明式语言 (Declarative Language),它只表达用户想要的是什么,具体怎么实现用户的目的则由数据库的优化器模块自行决定,即对查询选择相应的执行计划。对于同一条用户 SQL,在数据库中可能对应多种不同的实现方式,优化器面临的常见选择包括:
查询中的表访问是选择全表扫描,还是索引扫描,以及应该选择哪个索引。
查询中的 JOIN 操作应该选择什么 JOIN 顺序,以及每个 JOIN 应该选择什么 JOIN 算法。
查询中的 GROUP BY 和 ORDER BY 选择什么策略来实现。
查询中的子查询选择什么策略来处理。
这些选择会产生大量的组合结果,即候选执行计划,优化器会从这些候选执行计划中选择它认为最优的一个用于执行。
大部分情况下,优化器都能够选中执行效率较高的执行计划,但不可避免地在某些场景下,它不能选中最优执行计划,因为以下两个可能的原因:
优化器没能枚举到最优的那个候选执行计划。
优化器在评估所有候选执行计划时出现了偏差,最优执行计划没能胜出。
在这些场景下,如果优化器默认选择的执行计划执行效率很低,就需要 DBA 或者用户进行 SQL 调优,提升查询性能。
要做 SQL 调优,首先需要理解优化器选中的执行计划所代表的执行逻辑,从中识别出执行开销高的那部分,进而分析为什么优化器会这样选择,然后干涉优化器对执行计划的选择,使得期望中更好的执行计划能被选中。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈