【数据库】sql优化有哪些?从query层面和数据库层面分析

目录

归纳

这类型问题可以称为:Query Optimization,从清华AI4DB的paper list中,该类问题大致可以分为:

  • Query Rewriter
  • Cardinality Estimation
  • Cost Estimation
  • Plan Optimization

从中文的角度理解那就是:

  • 查询重写
  • 基数估计
  • 成本估计
  • 执行计划优化

sql本身的优化

可以发现,这类型的优化问题,大多数从sql本身,或者说从执行计划本身入手,通过执行计划本身的优化来提升sql的性能。比如,数据库优化器给出某条sql的执行计划,但是由于数据库本身对于基数估计不准确,所以产生了次优的执行计划,这时候查询重写技术通过对执行计划进行优化,修改join order条件,达到更优的执行计划,从而提升sql的执行效率。

数据库层面的优化

但还有一类型的优化,并不从sql的本身出发,或者说不是那么直接的sql层面出发,而是从数据库层面入手,就有很多优化技术:如,参数调优、物化视图等技术。

以spark-sql为例,它有很多参数,而每次执行的结果和对应的参数密切相关,参数调优的目的就是找到一组最佳的参数去调高sql执行效率,它不从sql层面入手,但是却也达到了sql优化的效果。

相关推荐
BioRunYiXue6 分钟前
AlphaGenome:DeepMind 新作,基因组学迎来 Alpha 时刻
java·linux·运维·网络·数据库·人工智能·eclipse
xiaoyaohou116 分钟前
025、分布式计算实战:Spark Core与Spark SQL
sql·ajax·spark
神の愛15 分钟前
Mybatis各个属性
数据库·oracle·mybatis
路ZP25 分钟前
放大镜下拉框
java·数据库·sql
万粉变现经纪人33 分钟前
如何解决 pip install ta-lib 报错 本地 TA-Lib 库未安装 问题
数据库·python·scrapy·oracle·bug·pandas·pip
|华|37 分钟前
Python操作MySQL数据库
数据库·python·mysql
web3.088899940 分钟前
某宝店铺商品全量接口-item_search_shop_pro
java·服务器·数据库
ZzzZZzzzZZZzzzz…43 分钟前
MySQL还原备份方法3----gtid
linux·运维·数据库·mysql·还原备份
chatexcel44 分钟前
【实战教程】ChatDB 入门:基于自然语言的无 SQL 数据库操作实践
数据库·sql·oracle
胡单纯1 小时前
AI 直接解析 PDF 文档!OpenClaw 2026.3.3 新功能实测太强了
数据库·人工智能·pdf