zhangzhiming
V2EX  ›  Oracle

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

  •  
  •   zhangzhiming · Jan 11, 2023 · 1815 views
    This topic created in 1218 days ago, the information mentioned may be changed or developed.

    类似这样子查询跟新

    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 replies    2023-01-12 12:30:14 +08:00
    512357301
        1
    512357301  
       Jan 11, 2023 via Android
    fackVL
        2
    fackVL  
       Jan 11, 2023 via iPhone
    更新
    yushiro
        3
    yushiro  
       Jan 11, 2023 via iPhone
    你先写 select 语句 ,用 join 的方式把待修改的数据取出来 ,然后再把 from 前面的代码改为 update 表名 set xxx
    zhangzhiming
        4
    zhangzhiming  
    OP
       Jan 11, 2023 via iPhone
    @yushiro 我是全表更新,这样很慢
    n0099
        5
    n0099  
       Jan 11, 2023
    看看 EXPLAIN SELECT tcz.KCXZ FROM T_J20230106 tcz WHERE T.ID=tcz.ID AND T.KCXZ!=tcz.KCXZ 是不是 full table scan
    yushiro
        6
    yushiro  
       Jan 12, 2023 via iPhone
    @hemingyang 表的数据量有多少?上千万?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5820 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 341ms · UTC 06:37 · PVG 14:37 · LAX 23:37 · JFK 02:37
    ♥ Do have faith in what you're doing.