SQL调优

一、常规语法检查
关联字段避免使用西数(例如,trim, coalesce, substr)
筛选条件避免使用OR
应用MAPEING避免sql语句编程
避免不必要的数据类型转换
减少不必要的LEET JOIN
先GroupBy 再Join
竖表变横表使用聚合方式,避免自关联
代码共用
关联方式的选择
二、数据量分析
检查每张源表数据量
检查多张表关联后的数据量
检查最终结果集数据量
避免数据的大进大出,包括中间结果集是否放大。在来源表数据量大的情况下尽可能多的增加筛选条件减少数据量后再进行使用。
三、创建素引
常用的筛选字段的必须建立素引,建素引时必须制定是否UNIQDE。素引的设计跟应用关联度较大,只能具体情况具体分析,但一般不建议一个表建超过6个以上的素引。
关联字段、注意存储、性能取舍、命中规则
四、拆分SQL
对于关联条件较多的查询需要分析是否可以分解计算。拆分多段处理SQL进行处理
五、分区分表
对于需要存放较长时间跨度历史数据的表,一定要考虑分表或分区策略。一般做法是将该表分为当前表和历史表 (各白的时问跨度由可根据应用白己的需求决定),历史表按时间做范围分区
六、硬件资源
CPU、内存、磁盘、网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值