oracle一种非常规的update方法
程序员文章站
2022-06-01 16:31:41
...
用一张表的数据更新另一张表的数据,一般的update方式:
update tb_client_win_lost_report a set a.rolling_code_id = (select rolling_code_id from temp_role_id b where a.id= b.id)
where exists (select 1 from temp_role_id c where a.id = b.id);
这种方式需要对temp_role_id表扫描多次。
优化后的update方式:
update (select a.rolling_code_id,b.rolling_code_id from tb_client_win_lost_report a ,temp_role_id b where a.id = b.id)
set a.rolling_code_id = b.rolling_code_id ;
这张更新方式可以极大减少对表的扫描情况,从而达到优化的效果。
–记录于2014年中国软件技术大会
上一篇: 干咳难受吃什么水果好
下一篇: gitbook使用
推荐阅读
-
Oracle同步数据到kafka的方法
-
Oracle 生成和显示执行计划的方法
-
Oracle 分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法
-
一种openresty在init_by_lua_file阶段读取redis到共享内存的方法
-
Oracle LOWER() 和 UPPER()函数的使用方法
-
Oracle正确删除归档并回收空间的方法
-
安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法
-
Oracle 查看表存储过程触发器函数等对象定义语句的方法
-
SQL Server 7.0 的数据迁移到MySQL上的一种方法
-
Oracle学习的一些方法建议