我有一个inventory
表格,其中包含该项目item_id
的quantity
其余部分(以及其他一些元数据)。我让管理员通过上传包含item_id
剩余数量和数量的 CSV 文件来更新库存。
- 对 CSV 文件中的每一行运行 `update。如果我的 CSV 文件包含 100 万行,我最终会从我的应用程序服务器向数据库服务器发送 100 万条更新语句。
- 构造100万个更新查询并批量发送(JDBC允许批量语句)
乍一看,方法 2 似乎是一个更好的解决方案。但是,100 万条语句可以批处理吗?如果其中一个语句由于某种原因失败会发生什么?
通常的方法是将 CSV 文件导入临时表。您只创建一次的
unlogged
表,或者您在导入之前立即创建的临时表。类似的东西: