我刚设计了一个Pg数据库,需要选择一种用数据填充我的数据库的方法,数据由txt和csv文件组成,但通常可以是包含带分隔符的字符的任何类型的文件,我在java中编程命令数据具有相同的结构(有很多不同类型的文件,我需要找到文件的每一列代表什么,所以我可以将它与我的数据库列相关联)我想到了两种方法:
将文件转换为同一类型的文件(JSON),然后让DB定期检查JSON文件并导入其内容。
通过JDBC直接连接到数据库将字符串发送到数据库(我仍然需要创建一个包含插入到数据库中的内容的备份文件,因此在这两种情况下都会创建并写入文件)。 / p>
你会选择哪种时间效率明智?我有点想要使用第一个,因为在DB中处理json文件会更容易。 如果您有任何其他建议也欢迎!
答案 0 :(得分:1)
JSON或CSV
如果您可以将数据转换为CSV或JSON格式,则可以选择CSV。这是因为您可以使用COPY FROM一次性将大量数据批量加载到postgresql中。
COPY
支持CSV,但JSON不支持。
直接插入值。
如果您只需要插入一些(或者甚至几千个)记录但不适合大量记录,这是一种方法,因为它会很慢。
如果选择此方法,则可以使用COPY TO创建备份。但是,如果您认为需要使用Java代码创建备份文件。选择格式为CSV意味着您可以如上所述批量加载。