使用COPY查询

时间:2015-07-23 07:37:12

标签: copy unique bulkinsert vertica

我是Vertica DB的新手,之前我曾使用过Mysql。 我想在vertica表中插入唯一记录,但vertica在插入时不支持唯一约束。 我通过COPY查询在表中插入记录。 因此,我无法在插入之前检查每条记录,是否存在。 有人可以帮助我优化独特插入方式。

提前致谢:)

2 个答案:

答案 0 :(得分:4)

您可以将SKSceneScaleModeResizeFill添加到NO COMMIT并在COPY之前运行ANALYZE_CONSTRAINTS

COMMIT

这显然是一个简单的例子。

我在我的博客文章Enforcing Uniqueness of Data on Load上介绍了这个主题。

更新:自7.2起,Vertica可以自动加载enforce PRIMARY and UNIQUE constraints

答案 1 :(得分:4)

另一种方法,特别是在尝试执行UPSERTS时,将COPY转换为临时表,然后使用MERGE语句。这会将临时表中的数据合并到您的表中,而不会有重复的风险。加载批量数据时非常高效。如果您查看临时表和MERGE上的文档,您应该能够理解如何使用它们。