带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(8)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(8)

带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(7) https://developer.aliyun.com/article/1247143?groupCode=taobaotech




数据字段类型检查


检查字段发现订单表中item_id是bigint,但是sku属性和商品属性中的item_id存储成了string。


最终尝试关联的时候都强制转换成string再观察,发现在资源充足的情况40分钟即可完成任务的计算。


image.png


优化总结


1. skewjoin或者传统拆分冷热数据可以解决常规的数据倾斜。

2. 关联时要确保左右数据类型一致,如不一致建议强制转换成string再进行关联。

3. 商品id竟然存在18位的情况,后续使用过程中建议还是统一存储成string,查询时最好也使用string类型,避免各种查询、分析带来的麻烦。


SQL优化案例二:分桶解决大表与大表的关联


背景


DWS层存储了淘宝天猫用户天增量粒度的用户与商品交互行为轻度汇总数据(浏览、收藏、加购、下单、交易等等),基于明细数据需要汇总用户N天内的行为汇总数据,分析数据发现无明显的数据分布不均匀情况,但执行效率明显不高。


SELECT cate_id
 ,shop_type
 ,user_id
 ,SUM(itm_sty_tme) AS itm_sty_tme
 ,SUM(itm_vst_cnt) AS itm_vst_cnt
 ,SUM(liv_sty_tme) AS liv_sty_tme
 ,SUM(liv_vst_cnt) AS liv_vst_cnt
 ,SUM(vdo_sty_tme) AS vdo_sty_tme
 ,SUM(vdo_vst_cnt) AS vdo_vst_cnt
 ,SUM(img_txt_sty_tme) AS img_txt_sty_tme
 ,SUM(img_txt_vst_cnt) AS img_txt_vst_cnt
 ,SUM(col_cnt_ufm) AS col_cnt_ufm
 ,SUM(crt_cnt_ufm) AS crt_cnt_ufm
 ,SUM(sch_cnt_ufm) AS sch_cnt_ufm
 ,SUM(mkt_iat_cnt) AS mkt_iat_cnt
 ,SUM(fan_flw_cnt) AS fan_flw_cnt
 ,SUM(fst_itm_sty_tme) AS fst_itm_sty_tme
 ,SUM(fst_itm_vst_cnt) AS fst_itm_vst_cnt
 ,SUM(col_cnt_fm) AS col_cnt_fm
 ,SUM(crt_cnt_fm) AS crt_cnt_fm
 ,SUM(sch_cnt_fm) AS sch_cnt_fm
 ,SUM(shr_cnt) AS shr_cnt
 ,SUM(cmt_cnt) AS cmt_cnt
 ,SUM(pvt_iat_cnt) AS pvt_iat_cnt
 FROM dws_tm_brd_pwr_deep_usr_cat_1d
 WHERE ds = TO_CHAR(DATEADD(TO_DATE('${bizdate}', 'yyyymmdd'), -89, 'dd'), 'yyyymmdd')
 AND cate_flag = '1'
 GROUP BY cate_id
 ,shop_type
 ,user_id



带你读《2022技术人的百宝黑皮书》——ODPS SQL优化总结(9) https://developer.aliyun.com/article/1247140?groupCode=taobaotech

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
11天前
|
SQL 关系型数据库 MySQL
MySQL进阶突击系列(07) 她气鼓鼓递来一条SQL | 怎么看执行计划、SQL怎么优化?
在日常研发工作当中,系统性能优化,从大的方面来看主要涉及基础平台优化、业务系统性能优化、数据库优化。面对数据库优化,除了DBA在集群性能、服务器调优需要投入精力,我们研发需要负责业务SQL执行优化。当业务数据量达到一定规模后,SQL执行效率可能就会出现瓶颈,影响系统业务响应。掌握如何判断SQL执行慢、以及如何分析SQL执行计划、优化SQL的技能,在工作中解决SQL性能问题显得非常关键。
|
10天前
|
SQL 存储 关系型数据库
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
64 9
|
21天前
|
SQL Oracle 关系型数据库
如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能?
在 Oracle 数据库中,SQL Profiles 是优化查询性能的工具,通过提供额外统计信息帮助生成更有效的执行计划。配置和使用步骤包括:1. 启用自动 SQL 调优;2. 手动创建 SQL Profile,涉及收集、执行调优任务、查看报告及应用建议;3. 验证效果;4. 使用 `DBA_SQL_PROFILES` 视图管理 Profile。
|
2月前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
95 11
|
1月前
|
SQL 分布式计算 Java
Spark SQL向量化执行引擎框架Gluten-Velox在AArch64使能和优化
本文摘自 Arm China的工程师顾煜祺关于“在 Arm 平台上使用 Native 算子库加速 Spark”的分享,主要内容包括以下四个部分: 1.技术背景 2.算子库构成 3.算子操作优化 4.未来工作
|
3月前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
SQL 关系型数据库 索引
SQL优化常用方法53
分离表和索引
1338 0
|
SQL
SQL优化常用方法51
使用显式的游标(CURSORs)
1118 0
|
SQL
SQL优化常用方法49
优化GROUP BY
1121 0