首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >四招技巧,秒杀复杂的SQL

四招技巧,秒杀复杂的SQL

作者头像
herain
发布2022-04-27 19:24:39
发布2022-04-27 19:24:39
7220
举报
文章被收录于专栏:数据指象数据指象

一个问题的复杂度分为两种:本质复杂度和偶然复杂度,本质复杂度就是必须要做的事,偶然复杂度多为偶然的路径选择而遇到的额外的事,多余做的事情。

类比写SQL做数据分析,SQL模型很复杂多半来自偶然复杂性:比如一个指标模棱两可的口径,只需要和需求方沟通清楚,确定口径即可,没必要埋头苦干,苦思两全的方法这么做多半没有价值。

避免路径依赖,固守老方法而忽略新的高效的工作方法,要多想多借鉴优秀的经验来提高工作效能。

总结了几种SQL的高级写法,让SQL更顺滑。普通版sql VS 高级版sql,一见便知....

1,学会使用CTE

CTE是共享表达式,它可以拆解复杂的SQL逻辑,让自己的SQL简洁易维护。当然也可以实现经典的递归操作。

2,学会用临时函数

运用CREATE TEMPORARY FUNCTION,抽离复杂过程,让SQL更干净。

3,善用 LATERAL VIEW explode(),

LATERAL VIEW 不仅可以将列转成多行, 还以达到代替冗余的 union all的功效

4,要学会使用变量

变量会给程序带来灵动性,一次定义多次使用,同时可以做到一次修改,引用都修改的功效

5,不要埋头苦干

遇到问题多思考几分钟,多找找其它方法,是不是有更高效的办法,比如关注「数据指象」收获更多新知识点。。。

看不清楚,请用电脑浏览。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档