hive优化之逻辑类似or逻辑重复

今天拿到一个二次开发的需求,只是增加一个业务类型,开发起来倒是也蛮轻松。

但是,对自己的要求不难这么低,否则可替代性也太高了。

除了完成自己的那部分开发,当然展现自己实力的,可以是优化。

1,逻辑类似重复的规则

在实际开发中,一个脚本里面,是不允许出现多处地方,逻辑类似,或者干脆逻辑重复

另外,原则上在一段sql里,是不能出现两个相同的的表的

如果满足上述任一情况,那么你大概率是要进行脚本优化

2,优化案例

大家仔细看,发现框起来的地方,既出现两个相同的表,有出现了相同或者逻辑类似。

所以,可以尝试着去进行优化。

3,优化方法

优化的思路:相同的表,逻辑过滤需要进行合并,也就是说,把原本两个过滤的数据的子查询数据都要展示出来。然后字段展示,就需要用到case when,寻找过滤的差异,在差异处,来选择展示。

上面的代码就是进行了优化,代码简单,计算效率也更高。特别是如果一张表数据量特别大,那么优化的效果将特别明显。


都是实际开发中遇到的优化案例,给大家分享,希望可以学有所悟。

欢迎一键三连!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 大模型企业应用实战(08)-LangChain用prompts模板调教LLM的输入输出

超越chatGPT:学习使用prompts模板来调教LLM的输入输出,打造自己版本的"贾维斯" 1 Model I/O:LLM的交互接口 任何语言模型应用程序的核心要素都是......模型。LangChain 为您提供了与任何语言模型连接的构件。 即 Prompts -> Language mod…

神经网络参数-----batch_size

什么是BatchSize Batch一般被翻译为批量,设置batch_size的目的让模型在训练过程中每次选择批量的数据来进行处理。Batch Size的直观理解就是一次训练所选取的样本数。Batch Size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如…

Java中的IO操作技巧与性能优化

Java中的IO操作技巧与性能优化 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨Java中的IO操作技巧与性能优化。IO操作是Java开发中常…

GUVCL-S10GD光电二极管紫外线传感器紫外灯韩国GenUV原厂代理商

深圳市宏南科技有限公司是韩国GenUV公司的原厂代理商,所售紫外线传感器均来自于原始生产厂商直接供货,非第三方转售。 GUVCL-S10GD GUVC-T10GD 原装韩国GENUV光学传感器 - 光电二极管 UVCLED UV-C 传感器 GUVC-S10GD 采用基于氮化镓的材料 肖特基型 光…

索引器知识点

索引器基本概念 让对象可以像数组一样通过索引访问其中元素,使程序看起来更直观,更容易编写。 索引器语法 访问修饰符 返回值 this[参数类型 参数名, 参数类型 参数名.....] {内部的写法和规则和索引器相同get{}set{} } 索引器的重载及逻辑 class P…

【自然语言处理】python之人工智能应用篇——文本生成技术

文本生成是指使用自然语言处理技术,基于给定的上下文或主题自动生成人类可读的文本。这种技术可以应用于各种领域,如自动写作、聊天机器人、新闻生成、广告文案创作等。 一、文本生成技术的核心要素包括: 1. 预训练模型 概述:预…

Java | Leetcode Java题解之第188题买卖股票的最佳时机IV

题目: 题解: class Solution {public int maxProfit(int k, int[] prices) {if (prices.length 0) {return 0;}int n prices.length;k Math.min(k, n / 2);int[] buy new int[k 1];int[] sell new int[k 1];buy[0] -prices[0];sell[0] 0;for (…

精益管理咨询公司在与企业沟通时,应该如何展示自己的专业性?

在竞争激烈的商业环境中,精益管理咨询公司扮演着至关重要的角色。它们不仅为企业提供策略性的指导,还帮助企业实现资源的优化配置,从而达到提高效率、降低成本的目的。那么,精益管理咨询公司在与企业沟通时,应该如何展…

MinIO在Linux环境中的使用

MinIO 是一个高性能的对象存储服务,兼容 Amazon S3 API。它设计用于大规模数据存储,可以很好地处理大数据集和高并发请求。如果你想在 Linux 系统上安装 MinIO,并开放必要的端口以便外部访问。 Vmware下载安装和linux安装这里就不在赘述了&a…

复习2-20240624

vscode 使用 Javabean (封装性) public class Demo01 {/*1.原则 : 字母 数字 $ _ 中文 除了 这五个 其它都不可以2. 细则 : 数字 不能 开头%hbviunh &hfiureh )nhjrn 7487j -ni hbiu tgf hi…

iOS抓包指南 正则过滤爬取

解读iOS抓包 抓包 (packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。 什么是正则表达式? 正则表达式(regular expression)是用来描述…

网络安全----安全设备(二)防火墙

防火墙 一、防火墙是什么?二、防火墙的发展史(1)第四代和第五代防火墙的区别 三、防火墙的功能 一、防火墙是什么? 防火墙(Firewall)是一个软件、硬件设备或软硬件结合的安全管理系统,构建于网…

利用Java easyExcel库实现高效Excel数据处理

在Java应用程序中,处理Excel文件是一项常见任务,尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库,它提供了简洁的API和优化的性能,以简化Excel文件的处理。本文将指导您如何使用easyExcel库…

Python字典深度探索:25个高级操作技巧

今天,我们踏入字典的神秘森林,挖掘那些不为人知的宝藏。字典,Python中的超级英雄,存储数据的魔法帽,今天我们将解锁它的20个高级特技,让你的代码飞起来! 1. 初始化大法:花式建字典 …

系统编程:线程相关

线程 相关函数及过程: 创建线程号; pthread_t tid; 创建线程:pthread_create(&tid, NULL, task, argv[1]); 定义线程执行函数:void *task(void *arg){ 线程退出:pthread_exit(ret);//线程结束后退出 } 等待所有线程结束:pthread_join(tid, (void **)&ret); 编译时增加…

计算机网络面试HTTP篇二

HTTP/1.1 如何优化? 问你一句:「你知道 HTTP/1.1 该如何优化吗?」 我们可以从下面这三种优化思路来优化 HTTP/1.1 协议: 尽量避免发送 HTTP 请求;在需要发送 HTTP 请求时,考虑如何减少请求次数&#xff…

常用网站收集

微信公众号 https://mp.weixin.qq.com/ 新浪邮箱 https://mail.sina.com.cn/?frommail 博客 https://blog.csdn.net/ 印象笔记 https://app.yinxiang.com/ b站 https://member.bilibili.com/ 微博 https://weibo.com/ QQ音乐 https://y.qq.com/ 网易云音乐 htt…

Springboot启动mongoDB报错后禁用mongoDB自动配置

一、背景 最近在项目当中使用到MongoDB的驱动及相关依赖,发现在启动的时候有MongoDB启动报错信息,目前也不直接使用MongoDB,所以把自动配置这一块在启动的时候去除掉。 二、操作方式 Application启动类,修改启动SpringBootAppli…

400技术汇 教你如何成为抓包高手!

Wireshark是目前使用最广泛的网络抓包分析工具,也是每一位网络攻城狮电脑里必装神器。当网络里发现恶意攻击、某人下载流量过大、设备互联丢包、协议交互失败等等情况时,通过Wireshark抓包定位问题根源,是最直接有效的手段。 然而如此强大的…

【C++】future/promise

future/promise 1 来源 需要从线程中返回异步任务结果情形时,c11之前: 使用指针在线程间共享数据。 传递一个指针到新的线程中,该线程在其中设置数据,直到主线程继续等待使用条件变量。当新线程设置数据并通知条件变量时&#x…