SQL优化建议
1.数据去重使用group by代替distinct, 禁止使用count(distinet);
2. 分区表使用时where条件必须加上分区过滤如: d为每日全量表,day取最新分区
di每日增量表,限定日期,如day betreen 20190415 and 201904161
3.多表关联,先子查询过滤后关联
4.慎用in not in,连续性值过滤用between and代替,如: age in (1.2.3.4) 修改为:age between 1 and 4
5子查询禁止使用*号,只把需要的字段列出来
6. 表关联时一定要加上on条件,避免笛卡尔系数
7.表关联时关联条件一定要在子查询里过滤掉null值,避免数据倾斜;
8.不要对一个表进行重要处理,多使用临时表,尽里做到一次处理多次使用
9慎用order by 大数据排序会很慢
网友评论 (12)