大数据单机学习环境搭建(7)SQL的DQL查询优化

12 篇文章 0 订阅
11 篇文章 0 订阅


大数据单机学习环境搭建(7)SQL的DQL查询优化

1.模型优化(内练固本)——预处理思想

在这里插入图片描述
注:所谓预处理就是提前准备好,形同饭店的备菜环节,应该先把要用到的菜洗、切等预处理好,等客人点菜了直接炒就好。预处理环节层层递进,适合复杂任务的拆分处理,简单任务“杀鸡焉用牛刀”。

模型设计优化的思路需要在工作中养成,很重要但很难像技术优化那样清晰可见,可能这就是经验的重要性吧,这里举几个例子简单说明下:

1.1复杂SQL拆分

内容:周月报优化
优化:小时分区任务计算转化为天任务计算,每月一次的统计平均到每天去做,最后仅收集每日一条的统计结果(小时数据量约4000万左右)
效果:6个8小时任务,均压缩到10分钟内完成

1.2数据合并、可行性和可用性评估

内容:某游戏排行榜数据接口任务
优化原因:模型及其复杂,需求方目的明确,但业务逻辑转化开发逻辑后数据量极大,无法实现前端展示(接口返回数据集为GB级)。多数据结果集合并更是无法进行。
优化方式:沟通修改需求,需求方往往并不能预估需求结果(事实上开发人员也做不到),只能是一边开发一边调整,主要是找到问题合理、准确的解释

2.技术优化(外练强身)

2.1表设计优化——好的开端是成功的一半

合适的表设计和合适的存储方式,对数据的查询至关重要;反之会直接造成查询完全无法进行的局面,优化更无从谈起

  • 表的设计过程中要首先区分:
    a.结合数据库类型(OLTP、OLAP),区分使用场景是主“读”操作还是主“写”操作;是否支持实时查询等
    b.结合数据库特性(关系型数据库、非关系型数据库),区分对索引、事务和DQL的支持程度;
  • “读”为主的数据库,表的设计原则:
    a.避免全表扫描,通过分区、分桶的方式实现;
    b.设置主键、索引,提高查询效率;
    c.选择文件存储格式(NoSQL),从文件读取时间和存储空间方面考虑。

2.2查询任务优化——锦上添花

DQL语法编写常识
在这里插入图片描述
扩展内容: 《Hive优化实现》


声明:本文所载信息不保证准确性和完整性。文中所述内容和意见仅供参考,不构成实际商业建议,如有雷同纯属巧合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值