V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hemingyang
V2EX  ›  Oracle

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

  •  
  •   hemingyang · 2023-01-11 09:58:39 +08:00 · 1250 次点击
    这是一个创建于 713 天前的主题,其中的信息可能已经有所发展或是发生改变。

    类似这样子查询跟新

    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

    6 条回复    2023-01-12 12:30:14 +08:00
    512357301
        1
    512357301  
       2023-01-11 11:15:02 +08:00 via Android
    fackVL
        2
    fackVL  
       2023-01-11 11:42:32 +08:00 via iPhone
    更新
    yushiro
        3
    yushiro  
       2023-01-11 11:46:10 +08:00 via iPhone
    你先写 select 语句 ,用 join 的方式把待修改的数据取出来 ,然后再把 from 前面的代码改为 update 表名 set xxx
    hemingyang
        4
    hemingyang  
    OP
       2023-01-11 12:52:20 +08:00 via iPhone
    @yushiro 我是全表更新,这样很慢
    h0099
        5
    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
        6
    yushiro  
       2023-01-12 12:30:14 +08:00 via iPhone
    @hemingyang 表的数据量有多少?上千万?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5590 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:18 · PVG 11:18 · LAX 19:18 · JFK 22:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.