表列太小时,如何处理来自Spring JDBC的批处理SQL插入
||
我正在尝试将大量数据批量插入MYSQL数据库中,并且需要有关如何处理表列不足以应付传入数据大小的情况的建议。
由于数据集非常大(超过1Gb),因此我正在将输入数据流式读取到内存中。在某些时候,我“刷新”数据并尝试使用jdbcTemplate.batchUpdate将其插入表中。目标表的所有列都是VARCHAR,并假定其大小为50。这对于绝大多数数据而言完全合适。但是,由于偶尔到达的数据大于15号,因此INSERT将失败(数据对于列而言太长)。
解决此问题的最佳方法是什么?我不想盲目地将所有表列都变大,因为这似乎是一种无法很好扩展的策略。由于大小,我也不想预先准备数据。因此,我应该等待失败,然后执行适当的\“ ALTER TABLE \”并重新提交数据吗?是否可以缓存掉失败的项目,确定所需的列大小并仅重新提交失败的项目?
我正在寻找有关执行此操作的最佳方法的指针和一般建议。
谢谢。
没有找到相关结果
已邀请:
2 个回复
窝头菊
烷刨画颠离