阿里云RDS支持以下INSERT方式:
INSERT ON DUPLICATE KEY UPDATE:允许您在插入新行时,如果遇到主键或唯一键冲突,则更新已存在的行。这种批量插入方式只需在最后一条VALUES语句后添加ON DUPLICATE KEY UPDATE子句,指定在发生重复时应更新的列及其新值。
INSERT INTO:标准的SQL语句,用于向表中插入新行。您可以提供具体的值列表,如(1, 'lisa', 10),或者使用SELECT语句从其他表或查询结果中获取数据。
INSERT OVERWRITE:
全表写入:完全替换表中的所有数据,插入新的值列表。
静态分区写入:针对已定义分区的表,只替换特定分区的数据。
动态分区写入:在插入数据时自动确定分区,同样实现对特定分区数据的替换。
异步提交导出任务:对于大数据量(如几百GB)的场景,建议采用异步方式提交INSERT INTO或INSERT OVERWRITE INTO SELECT语句以导出数据,避免因客户端与ADB MySQL服务端连接中断导致数据导出失败。
参考链接:
是否支持通过Logstash插件使用INSERT ON DUPLICATE KEY UPDATE语句批量插入数据?
通过Spark SQL读写Delta外表
异步提交导出任务-应用场景
SQL手册-CREATE TABLE-相关文档
SQL手册-INSERT OVERWRITE SELECT-注意事项
此回答整理自钉群“云数据仓库ADB-开发者群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。