作为数据库管理的新手,我目前正在通过PgAdmin运行Postgresql 9.3。我的目标是将40个文件压缩到一个表中,我的设置如下:
包含独立Master Key
列的表,其中包含~400k唯一整数观察值。
|Master Key|
20个文件,每个三列。第一列包含一个整数键,保证与“主”列上的观察匹配。第二列和第三列包含整数值。
|Master Key-like Value| IntValue1 | IntValue 2|
包含文本详细信息的多个列的20个文件,其中第一列包含相同方式的整数键。
|Master Key-Like Value| Multiple Data |
我目前正在考虑将所有文件导入到相应的表中,并将其连接起来,最终输出为:
Master Key | File 1 IntValue 1 | File 1 Intvalue 2| File 2 Intvalue 1 ... | File 20 Intvalue 2 | Multiple Data |
如果未找到相应的值,则放置空值。 (这是一种非常可能的情况,其中int值以类似于隐式日期的方式组织在序列中的每个文件中)
左连接会让我这样输出吗?有没有更有效的方法来连接这样的表?
答案 0 :(得分:0)
在单独的表中导入每个文件并进行大型连接是一种很好的方法。
数据库引擎针对这种计算进行了优化。 您可以使用unix join command实现类似的功能,但它一次只能处理两个文件,并且可能需要更多时间。