【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】5.7.25-OceanBase-v4.3.5.0
【问题描述】
现在有一张表结构如下:
CREATE TABLE `t_realtime_tag_test_insert_partial_columns` (
`user_key` varchar(64) NOT NULL COMMENT '用户键',
`identity_code` varchar(64) NOT NULL COMMENT '身份代码',
`rt_rs_299288032083968` text DEFAULT NULL,
`rt_rs_299288059346945` text DEFAULT NULL,
`rt_rs_299288059346943` text DEFAULT NULL,
`rt_rs_299288059346946` text DEFAULT NULL,
PRIMARY KEY (`user_key`, `identity_code`)
) DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC
表里有近1亿数据,rt_rs_299288059346943和rt_rs_299288059346946两个列是新创建的列。
现在想按照主键(user_key, identity_code) 去更新上述两个字段,两个字段的值每行每列都不一样。如果主键的行不存在,需要写入这行数据,没有值的字段留空。
想问下如何更新这张表效率最好,数据在内存里,也可以先写到一张临时表