开发者社区 > 数据库 > 数据仓库 > 正文

云数据仓库ADB如何提升inert into 速度?

云数据仓库ADB如何提升inert into 速度?

展开
收起
-Feng、冯冯 2024-04-24 16:01:23 20 0
1 条回答
写回答
取消 提交回答
  • 要提升INSERT INTO操作的速度,可以从以下几个方面进行优化:

    批量插入:尽量避免单行插入,而是采用批量打包的方式进行INSERT或REPLACE INTO操作。建议每条语句写入的数据行数大于1000行,但注意总数据量不宜超过16MB。虽然批量写入可能导致单个批次的延迟稍高,但整体上能显著提高数据写入性能。参考链接

    处理写入错误与重试:在遇到写入报错时,应实施重试策略以确保数据最终被成功写入。尽管重试可能导致数据重复,但可以通过利用表的主键约束来消除重复数据。参考链接

    使用Hint加速导入:对于特定版本的ADB MySQL数据库(数仓版3.0弹性模式集群3.1.5版本),在导入任务前添加Hint direct_batch_load=true 可以有效加速导入任务。若使用后未见明显性能提升,可联系技术支持提交工单。示例代码如下:

    SUBMIT JOB /* direct_batch_load=true*/
    INSERT OVERWRITE adb_table
    SELECT * FROM adb_external_table;
    

    参考链接1 参考链接2

    综上所述,通过批量插入、妥善处理写入错误与重试以及在适用场景下利用Hint加速导入,可以有效地提升INSERT INTO操作的速度。
    此回答整理自钉群“云数据仓库ADB-开发者群”

    2024-04-24 16:39:32
    赞同 1 展开评论 打赏

热门讨论

热门文章

相关电子书

更多
消电行业数据中台解决方案白皮书 立即下载
(终极版)2020阿里云金融数据中台报告 立即下载
2020年中国乳制品行业数据中台研究报告 立即下载