改写函数提高SQL效率的研究
这是2016年8月份上海MOORACLE大会上陈宏义老师(老K)分享的一个案例,将一个merge SQL,通过改写成plsql的方式,大大提高了执行效率。 老虎刘在看到这个案例的时候,开始没有注意到执行计划里面显示的各表实际记录数,不认为plsql的改写方式比分析函数的写法更高效,还与陈老师有过几次邮件讨论,直到后来仔细查看了执行计划。
这是2016年8月份上海MOORACLE大会上陈宏义老师(老K)分享的一个案例,将一个merge SQL,通过改写成plsql的方式,大大提高了执行效率。 老虎刘在看到这个案例的时候,开始没有注意到执行计划里面显示的各表实际记录数,不认为plsql的改写方式比分析函数的写法更高效,还与陈老师有过几次邮件讨论,直到后来仔细查看了执行计划。
本文讨论了在 Hive SQL 中处理单引号和双引号的技巧。作者建议:
1、显示包含单引号的字符串:使用双引号括起来,因在单引号内直接显示单引号的方法尚未找到。
2、显示包含双引号的字符串:使用单引号括起来,或对内部的双引号进行转义。
3、减少麻烦:尽量使用双引号括起字符串,因为对双引号的转义更方便有效。
作者还提供了测试 SQL 示例,展示了不同情况下单双引号的使用效果。该内容适合从事 Hive SQL 开发的工程师、数据分析师以及需要处理 Hive SQL 字符串转义问题的技术人员阅读。
本文介绍了舞弊的定义及其对企业的危害,重点阐述了舞弊的主要理论,包括冰山理论、三角理论、GONE理论和舞弊风险因子理论。此外,文章讨论了我国舞弊案件中出现的“29岁现象”,即舞弊者年龄集中在29岁左右的趋势,并分析了其成因,提出了综合治理的建议。该内容适合企业管理者、审计人员、风险控制专家以及对企业舞弊防范感兴趣的研究人员阅读。
本文讨论了在 Hive SQL 中使用正则表达式筛选特定 IP 范围(172.16.0.0 到 172.31.255.255)的实现方法,详解了 `[16-31]` 范围的表达方式,给出了完整的正则表达式方案,帮助精准匹配指定的 IPv4 地址范围。
本文介绍了在 Hive SQL 中如何识别连续日期数据的显著波动,适用于异常检测。使用窗口函数 `LAG` 和 `LEAD` 提取前后日期数据,通过对比当天与昨日、近几日的均值或分位数来判定异常。文中提供了查询示例,通过阈值设定(如倍数增加或p90分位数)识别异常值,帮助分析用户行为或数据波动,为风控和数据监控提供技术支持。
本文探讨了在 Hive SQL 中计算用户的最大连续操作天数的实现方法。通过窗口函数和日期差计算,文章详细展示了如何找出连续在线的天数,适用于数据分析中的活跃用户筛选。同时还介绍了结合分位数和平均值分析操作频率的查询技巧。
本文整理了 Hive SQL 中的一些实用技巧,包括使用 `\073` 替代分号进行字符串分割、通过转义实现下划线匹配、布尔类型的条件比较,以及在复杂类型字段(如数组或映射)中插入空值的操作方法。这些技巧可以帮助开发者在处理特殊符号和复杂数据类型时,避免语法错误和查询结果不准确的问题,为 Hive SQL 查询优化提供了实用参考。
本文介绍了CSS中的数学函数 `round()` 的新应用,它能实现多种取整方式,如上舍、下舍、四舍五入等,用于提升样式的精确控制。特别是在字体大小、动画步阶和响应式设计中,`round()` 可防止小数值带来的渲染偏差,使界面更一致。这一函数现已在Chrome中支持,为开发者提供了更灵活的布局工具。
本文深入探讨了人工智能领域的最新进展,特别是大型语言模型(LLMs)的应用及其与检索增强生成(RAG)技术的结合。文章首先引用《诗经》中的名句,比喻技术的快速发展,随后讨论了 Agent 的概念,强调了其规划、记忆和工具使用的能力。作者分享了对市场上主流 Agent 产品的体验,并提出了对大模型动态规划任务的信念。文中还介绍了 Text2SQL 技术,展示了如何将自然语言转化为 SQL 语句,以及这一技术如何帮助大模型与关系型数据库连接。最后,作者反思了技术进步对人类社会的影响,特别是在效率提升与人类幸福感之间的关系。|
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。
如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。
那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
这一篇我们回归现实中的MySQL数据库,初步学习具体的SQL优化原则,并尝试从索引底层原理出发,分析为什么会有那么多的“规则”。