SQL_优化

1 SQL优化

(1) 数据读取

①分区裁剪:使用时只读取需要的分区.

②列裁剪:读取操作(select、where、join、group by、sort by等),不读取不需要的列,减少IO消耗.

(2) 数据筛选

①分区先过滤,区分度大的字段先过滤.

②不在筛选字段上使用函数和表达式.

(3) 分组聚合

①使用窗口函数时,排序键区分度大的放在前面.

②数据量大时,用group by替代distinct.

(4) join

①减少不必要的关联字段.

②关联字段有用函数等处理时,可先处理好字段再关联.

③关联键区分度大的先执行.

④多表关联时,能减少数据量的表先关联.

(5) 索引

合理设置索引,再使用时避免索引失效.

(6) 整体

①将复杂查询分解为多个简单查询.

②将重复计算的结果存储在变量或临时表中.

2 结构优化

(1) 字段

①减少单表字段数.

②整数尽量用短的类型.

③可用枚举或者整数代替字符串类型.

3 资源优化

①调整内存参数:如缓冲池大小、缓存大小等.

②调整连接池:优化数据库连接池的大小和配置.

4 针对性优化

优化MySQL:从单表到高阶策略的全方位优化指南-CSDN博客https://blog.csdn.net/weixin_43875878/article/details/125927373Hive_优化/问题-CSDN博客文章浏览阅读2次。①除了需要导入数据表使用textfile外,表的存储格式使用orc 和 parquet.https://blog.csdn.net/weixin_43875878/article/details/145882724

相关推荐
FYKJ_20103 分钟前
springboot刑事案件管理系统03047-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
盟接之桥1 小时前
线束数字化--先进先出为什么总是停留在纸面上?
大数据·网络·数据库·人工智能·制造·ai编程
FYKJ_20101 小时前
springboot助农产品销售商城05829-计算机课程设计、毕业设计
java·spring boot·python·mysql·spark·django
Kamille Bidan1 小时前
MySQL数据库引擎介绍
mysql
adinnet20262 小时前
预算管控:预算执行与偏差问数
大数据·数据库
Omics Pro4 小时前
Cell封面|衰老生物学开源AI工具包
数据库·人工智能·算法·机器学习·自然语言处理
FYKJ_20104 小时前
springboot雅集社区养老管理系统04456-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
FYKJ_20104 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
javascript·vue.js·spring boot·mysql·typescript·spark·express
FYKJ_20105 小时前
springboot羽毛球场地管理系统00626-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django
FYKJ_20106 小时前
django药饮个性化推荐系统54839-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django