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

2023-01-11 09:58:39 +08:00
 hemingyang

类似这样子查询跟新

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

1250 次点击
所在节点    Oracle
6 条回复
512357301
2023-01-11 11:15:02 +08:00
fackVL
2023-01-11 11:42:32 +08:00
更新
yushiro
2023-01-11 11:46:10 +08:00
你先写 select 语句 ,用 join 的方式把待修改的数据取出来 ,然后再把 from 前面的代码改为 update 表名 set xxx
hemingyang
2023-01-11 12:52:20 +08:00
@yushiro 我是全表更新,这样很慢
h0099
2023-01-11 16:05:55 +08:00
看看 EXPLAIN SELECT tcz.KCXZ FROM T_J20230106 tcz WHERE T.ID=tcz.ID AND T.KCXZ!=tcz.KCXZ 是不是 full table scan
yushiro
2023-01-12 12:30:14 +08:00
@hemingyang 表的数据量有多少?上千万?

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

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

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

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

© 2021 V2EX