gpt4 book ai didi

mysql - 当表列太小时如何处理 Spring JDBC 的批量 SQL 插入

转载 作者:行者123 更新时间:2023-11-29 14:49:19 24 4
gpt4 key购买 nike

我正在尝试将大量数据批量插入到 MYSQL 数据库中,并且需要有关如何处理表列不足以应对传入数据大小的情况的建议。

由于数据集非常大(超过 1Gb),我正在将输入数据流式读取到内存中。在某些时候,我“刷新”数据并尝试使用 jdbcTemplate.batchUpdate 将其插入表中。目标表的所有列都是 VARCHAR,并且假定大小为 50。这对于绝大多数数据来说完全足够了。然而,由于偶尔到达的数据大于大小 15,INSERT 将失败(数据对于列来说太长)。

解决此问题的最佳方法是什么?我不想盲目地使所有表列变大,因为这似乎是一种无法很好扩展的策略。由于数据的大小,我也不想预先解析数据。那么我应该等待失败,然后执行适当的“ALTER TABLE”并重新提交数据吗?是否可以缓存失败的项目,确定所需的列大小并仅重新提交失败的项目?

我正在寻找有关执行此操作的最佳方法的指示和一般建议。

谢谢。

最佳答案

我相信最好的选择是在将数据放入插入批处理之前验证数据。这样您就可以拒绝字符串太长的对象,或者将字符串截断为所需的大小。

关于mysql - 当表列太小时如何处理 Spring JDBC 的批量 SQL 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com