博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL优化之数据复用操作
阅读量:3958 次
发布时间:2019-05-24

本文共 712 字,大约阅读时间需要 2 分钟。

前言:周末加班身心倦,枯心无意博客编,昨天誓言日一篇,今朝抽空把坑填

正文:OK,废话不多说,先让博主讲一哈业务场景

我将可爱美丽的产品经理提出的需求,概括之为同数据库中把一张A表中数据复用到另一张B表,并根据C表的某些字段来确定B表的某些字段值

实际上,这个功能有多种实现方式,比较容易想到的是第一步批量复用,第二步获得B表全集并左连接C表来批量更新B的某些字段值,通过两次批量操作效率的确是比单条操作效率要高出几何倍。但是,效率更高的当然还是一条SQL就可以完成复用+确定字段值的方式。

批量复用SQL,这个相信大家都知道

insert into B表( B1,B2,B3) select B1,B2,B3 from A表

一条SQL完成复用+确定字段值

insert into B(B1,B2,B3,B4,B5,B6)  select  t1.B1 as B1,  t1.B2 as B2,  t1.B3 as B3,  t1.B4 as B4,  (case  when t2.XX2 = 0 then '0'  when t2.XX2 = 1 then '1'  else '1'  end) as B5,  (case  when t2.XX3 = t1.XX3 then '0'  when t2.XX3 != t1.XX3 then '1'  else '0'  end) as B6  from A t1  LEFT JOIN B t2  on t2.XX1 = t1.XX1

OK,SQL优化之数据复用操作,完结撒花

✿✿✿ヽ(°▽°)ノ✿✿✿ヽ(°▽°)ノ✿✿✿ヽ(°▽°)ノ✿✿✿ヽ(°▽°)ノ✿✿✿

转载地址:http://twozi.baihongyu.com/

你可能感兴趣的文章
jive license保护原理
查看>>
java des加密
查看>>
struts&hibernate&spring例子
查看>>
inno使用教程
查看>>
网吧系统母盘制作(系统分区整体考虑优化配置篇)
查看>>
spring beans beanfactory applicationcontext
查看>>
使用ORM工具进行数据访问
查看>>
使用ORM工具进行数据访问
查看>>
Quartz 使用手记 --转
查看>>
编译与部署Eclipse+Tomcat+MySQL+Liferay4.1.2
查看>>
MySQL用户授权
查看>>
mysql忘记密码怎么办?~
查看>>
MySQL修改密码方法总结
查看>>
怎么将我的硬盘屏蔽
查看>>
关于MySQL select into 和 SQLServer select into
查看>>
2003应用
查看>>
文件上传组件比较
查看>>
关于MySQL select into 和 SQLServer select into
查看>>
搭建开发环境(初学liferay必看)
查看>>
Apache FileUpload文件上传组件API解析
查看>>