我们有一张关于3M记录的表格,这些记录在我们的应用程序中只用于只读操作。一天一次,我们会收到带有新版表格的csv文件。大多数记录没有更改,但有些记录是创建,更新或删除的。总变化量小于整个内容的1%。 用新数据更新表格内容的最佳方式是什么?表独家锁定是不可接受的,该应用程序正在全天候工作。 更新应该在一次提交中完成。对数据库的访问是通过JDBC。 谢谢。如何从csv文件/ Oracle的另一个表中更新大表格
0
A
回答
1
我会考虑将您的数据加载到全局临时表中,然后使用MERGE语句在公共和唯一键值上的目标表之间进行连接,从而应用更改。
在SO和文档中有很多MERGE示例。
https://docs.oracle.com/database/121/SQLRF/statements_9016.htm#SQLRF01606
0
一种选择是保持在一对表,并通过使用同义词切换它们之间的应用程序。
因此,给定table1和table2,您的同义词在星期一指向table1。通宵加载table2,然后将同义词切换为指向它而不是table1。
这样做的一个间接好处是它可以保留您以前的数据集,以防需要切换回来。
+0
它是否适用于公开交易?我想不是。 – spoonboy
+0
我已经做了一段时间了,但是我记得同义词定义没有锁定问题,因为一旦查询运行,您可以对同义词进行任何操作,因为底层关系作为查询解析的一部分被解析和转型。测试会很简单。 –
相关问题
- 1. Python:如何从另一个csv文件更新csv文件
- 2. 从另一个表格更新文本文件中的一行
- 3. 更新另一个表的Oracle表
- 4. 在Oracle中从另一个表更新表上的密钥
- 5. 庆典更新庞大的CSV文件,从另一家大型csv文件
- 6. 基于另一个列表从csv文件生成子表格
- 7. 如何从另一个表更新MYSQL中的一个表?
- 8. 从另一个表更新多列 - 需要Oracle格式
- 9. 使用另一个表中的数据更新一个表 - Oracle
- 10. Primefaces从另一个表格内更新
- 11. 从另一个表格中更新表格
- 12. 如何更新从另一个表格中选择字段的表格?
- 13. 如何从另一个表中更新一个表?
- 14. 如何使用另一个表中的数据更新表格
- 15. 更新表中的Oracle与特定的条件从另一个表值
- 16. 从sqlalchemy中的多列更新另一个表的表格
- 17. Oracle SQL使用另一个表的值更新一个表列
- 18. 从pl \ sql或oracle中的另一个表中更新一个表(仅更改从CDC表中的行)
- 19. 如何从另一个表中的另一列更新表中的某一列
- 20. 使用另一个表中的值更新Oracle表
- 21. 使用另一个表中的数据更新一个表格
- 22. 如何在加入另一个表格时更新表格
- 23. 如何从一个表更新一行到另一个表?
- 24. 更新另一个表中的SQL表格单元格
- 25. 从MYSQL的另一个表更新表
- 26. MySQL的更新表,从另一个表
- 27. 如何从另一个表中更新表的总和?
- 28. SQL更新文本从另一个表
- 29. PostgreSQL,需要从CSV文件更新一些表格
- 30. 在Oracle中的另一个架构中复制表格表格
MERGE是否删除记录? – spoonboy
它看起来像MERGE不能从目标表中删除源表中未显示的记录。 – spoonboy
我会给出另一个答案,以及... –