常用sql函数+sql优化+数据倾斜

本文总结了常用的SQL函数,如decode、正则匹配等,并分享了SQL优化策略,包括避免笛卡尔积、合理使用JOIN条件、优化分桶策略等。此外,还探讨了数据倾斜问题及其解决方案,如调整参数、SQL语句改写和不同场景下的Join策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sql优化以及shell脚本相关知识点汇总

实时更新!

常用sql函数:
decode()(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
rlike  like  REGEXP  正则匹配
列转行:concat_ws(',',collect_set(column))  
说明:collect_list 不去重,collect_set +group
行转列:
select user_id,order_value,order_id
from lie_col
lateral view explode(split(order_value,',')) num as order_id
开窗:
row_number()会生成数据项在分组中的排名,排名即便相等也不会有并列排名,相同排名随机排序。
rank()可以生成数据项在分组中的排名,排名相等时会产生并列排名,然后会在名次中留下空位。应用场景不多,很少需要使用,了解即可。
dense_rank()可以生成数据项在分组中的排名,排名相等时会产生并列排名,但不会在名次中留下空位。应用场景也不多,很少需要使用,了解即可dense_rank()可以生成数据项在分组中的排名,排名相等时会产生并列排名,但不会在名次中留下空位。应用场景也不多,很少需要使用,了解即可
排序
rows
range
between 
---sql优化
1、避免笛卡尔积 不止有null  截取的时候还有空值
举例:做身份证统计的时候,为了更加准确加了trim,然后截取忘记在身份证加trim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值