CnOpenData 重庆碳排放交易所碳交易数据

核心内容摘要

RexUniNLU中文-base效果对比:零样本vs小样本在低资源场景表现
什么是网站管理系统?网站管理系统的技术架构解析与选型指南

零代码体验DamoFD:Web界面快速检测人脸关键点

问题语句最近遇到一个问题发现开发人员比较喜欢单一的将表放一块一起做关联。

如果有了先过滤后关联的思维大部分语句的性能会获得提升。

以下是真实项目简化而来的例子select * from(select a.c1,a.mid,a.bcode,c.ttime,row_number()over(partition by a.bcode order by c.ttime desc)rn fromT11A,T12 b,t13 c where a.id1b.id1 and a.id1c.id1()and a.c13 and b.c13 and b.bcode

tt where tt.rn1;计划该语句最终是获取去重后rn1即每组第一行的数据而我们分析到t13表数据量很多这里简单的关联后再去重性能消耗较多而优化思路是先t11表和t12表先过滤条件和去重之后以及t13表去重过滤后两个小的结果集进行关联这样性能会提升。

因此根据我们的思路进行改写。

改写select tt.c1,tt.mid,tt.bcode,b.ttime,rn from(select a.c1,a.mid,a.bcode,a.id1,row_number()over(partition by a.bcode order by null desc)rn fromT11A,T12 b where a.id1b.id1 and a.c13 and b.c13 and b.bcode

tt,(selectmax(ttime)ttime,id1 from t13 group by id

b where tt.rn1 and tt.id1b.id1();计划最终性能提升了几倍在项目中的数据较多原本语句也复杂改写后从原来跑20分钟到最终秒级执行完。

小结我们一般要先过滤出小结果集再关联相当于我们先分组减去重复的部分减少对比次数从而提升效率。

看日韩大片ppt免费ppt模板在线观看免费版-看日韩大片ppt免费ppt模板在线观看免费版应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123