阅读PostgreSQL reference doc on COPY
后,我没有找到COPY
如何处理索引。当表已经有索引时,将文件中的数据复制到表中时会发生什么。我想知道这些索引是否会首先自动销毁,然后在加载后重新创建?
答案 0 :(得分:3)
手册中有另一个名为Populating a Database的页面,用于处理该问题。它的建议是:
如果要加载新创建的表,最快的方法是 创建表,使用
COPY
批量加载表的数据,然后创建 表所需的任何索引。在预先存在的上创建索引 数据比在每行加载时以递增方式更新数据更快。
一切都清楚吧?但是阅读页面,可能还有更多适合你的。
答案 1 :(得分:2)
COPY目前对索引没有什么特别之处。
如果必须插入索引表,则COPY和批量INSERT之间的性能差异不大。
因此,如果您不能删除索引,那么只要使用当前格式的数据,最方便的命令就是最方便。