我正在将多个表(~1.5M 条记录)从一个数据源复制到另一个数据源,但这需要很长时间。 我希望加快对DBD::P g的使用。
我目前正在使用 pg_getcopydata/pg_putcopydata,但我认为目标表上的索引正在减慢该过程。
我发现我可以使用 $dbh->statistics_info
找到有关表索引的一些信息,但我很好奇是否有人有一种编程方式来基于这些信息动态删除/重新创建索引。
我想,编程方法是通过 DBI 提交适当的 CREATE INDEX
SQL 语句,您将输入psql
。
有时在复制大表时,最好按以下顺序进行:
- 创建不带 out 索引的表
- 复制数据
- 添加索引