请问 SQL 跟新大量数据怎么处理快呢?

2023 年 1 月 11 日
 zhangzhiming

类似这样子查询跟新

UPDATE T_ T SET T.KCXZ =(SELECT tcz.KCXZ FROM T_J20230106 tcz WHERE T.ID=tcz.ID AND T.KCXZ!=tcz.KCXZ) WHERE 1=1

2006 次点击
所在节点    Oracle
6 条回复
512357301
2023 年 1 月 11 日
fackVL
2023 年 1 月 11 日
更新
yushiro
2023 年 1 月 11 日
你先写 select 语句 ,用 join 的方式把待修改的数据取出来 ,然后再把 from 前面的代码改为 update 表名 set xxx
zhangzhiming
2023 年 1 月 11 日
@yushiro 我是全表更新,这样很慢
N46LzUbYtD2y37RN
2023 年 1 月 11 日
看看 EXPLAIN SELECT tcz.KCXZ FROM T_J20230106 tcz WHERE T.ID=tcz.ID AND T.KCXZ!=tcz.KCXZ 是不是 full table scan
yushiro
2023 年 1 月 12 日
@hemingyang 表的数据量有多少?上千万?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/908077

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX