关联的效率

简介:  1 --A段 2 ---------------------- 3 select so_d.*,  4        c_bf.FApproveState 5   from sal_OrderList so_d 6   left join bas_Bom bom_m  7      on (so_d.

 

 1  -- A段
 2  -- --------------------
 3  select  so_d. *
 4         c_bf.FApproveState
 5     from  sal_OrderList so_d
 6     left   join  bas_Bom bom_m 
 7        on  (so_d.FMaterialKey  =  bom_m.FMaterialKey
 8           and  so_d.FColorKey  =  bom_m.FColorKey)
 9     inner   join  com_BillInfo c_bf 
10        on  (bom_m.FFormKey  =  c_bf.FFormKey) 
11           and  (c_bf.FApproveState  =   1 )  
12 
13  -- B段
14  -- --------------------
15  select  so_d. *
16         c_bf.FApproveState
17     from  sal_OrderList so_d
18     left   join  bas_Bom bom_m
19     inner   join  com_BillInfo c_bf 
20        on  (bom_m.FFormKey  =  c_bf.FFormKey) 
21           and  (c_bf.FApproveState  =   1 )
22        on  (so_d.FMaterialKey  =  bom_m.FMaterialKey
23           and  so_d.FColorKey  =  bom_m.FColorKey)
 
两段脚本达到的效果是一样的
 
在查询分析器中显示计划的效果A段占用了70%的开销, B段占用30%开销,可见B段效率比A段高
 

 

 

 

 1  -- A
 2  select  wst. *  
 3     from  com_MaterialWasteBook wst
 4       left   join  B_Material b_m  on  wst.FMaterialKey  =  b_m.FKey
 5       left   join  Color b_clr  on  wst.FColorKey  =  b_clr.FKey
 6       left   join  bas_Items b_sz  on  wst.FSizeKey  =  b_sz.FKey
 7     where  b_m.FKey  is   not   null
 8    
 9  -- -B
10  select  wst. *  
11     from  com_MaterialWasteBook wst
12       inner   join  B_Material b_m  on  wst.FMaterialKey  =  b_m.FKey
13       inner   join  Color b_clr  on  wst.FColorKey  =  b_clr.FKey
14       inner   join  bas_Items b_sz  on  wst.FSizeKey  =  b_sz.FKey
15    

 上面两段

 查询开销

A 占98%

B 占2%

 

但是实际执行时,在100多W的记录中A执行只需25秒左右,B需要50秒(结果执行多次)

 

目录
相关文章
|
4月前
|
监控 数据挖掘
有效的资源动态管理是确保项目成功和组织效率的关键
有效的资源动态管理是确保项目成功和组织效率的关键
142 70
|
7月前
|
SQL 数据库 UED
条件筛选大作战:解析Where与Having的区别与应用
条件筛选大作战:解析Where与Having的区别与应用
72 0
|
8月前
|
C++
57静态关联与动态关联
57静态关联与动态关联
74 0
|
8月前
|
传感器 监控 智能硬件
条件自动化
条件自动化
73 1
|
数据库 索引
数据库查询条件优化方案
数据库查询条件优化方案
运筹规划时复杂条件转换(最大M方式)
运筹规划时复杂条件转换(最大M方式)
81 0
|
算法 数据挖掘 开发者
关联模式评估| 学习笔记
快速学习关联模式评估。
关联模式评估| 学习笔记
|
SQL 安全 算法
数据安全最佳实践(4):数据脱敏场景如何进行where、join关联
Dataphin在3.6版本上线了脱敏等级功能,就可以完美实现脱敏分级的需求:对于绝密数据,采用底层脱敏,防止数据碰撞,保护更彻底;对于一般保护数据,可以采用仅展示脱敏的方法,既能满足正常的分析需求,又能防止意外和批量的数据泄露。
数据安全最佳实践(4):数据脱敏场景如何进行where、join关联
|
Java 编译器 测试技术
StringBuider 在什么条件下使用效率更高?
都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的理解可能会存在一定的偏差。 最近我在测试数据导入效率的时候就发现我以前对 StringBuilder 的部分理解是错误的。后来我通过实践测试 + 找原理 的方式搞清楚了这块的逻辑。现在将过程分享给大家
StringBuider 在什么条件下使用效率更高?
|
Java 程序员
【程序员】什么情况下可以去单干?需要具备哪些条件?除了技术,还应该具备哪些能力?
1、要从技【术思维编】程【产品思维】    很多技术出身的伙伴,容易以自己的想法和技术为出发点,我的想法很超前,我的技术很牛X,所以我做的东西大家一定喜欢,什么问题我都能解决!  然后闷头开发三个月,拿出来用户不买账,这就是技术思维,纯种码农.....    你想要开发的任何一款产品,都应该是以用户为出发点的,做真正解决用户痛点的产品,或者是让用户爽的产品,这是产品思维,   什么是用户痛点?    很多初级产品经理会觉得是用的需求,其实不是,是用户的害怕,是恐惧,是担心。
1786 0