我想在一个子分区表上禁用一个索引。当我尝试时,我得到一个错误。
ERROR: cannot drop index mysema.col_extra_val_355_customer_id_idx because index mysema.col_extra_val_customer_id_idx1 requires it HINT: You can drop index mysema.col_extra_val_customer_id_idx1 instead.
该表是一个巨大的表,它被分区为120亿行。当插入新数据时,有索引会导致插入速度慢。每次插入的数据都是针对一个子分区表的集群。为了提高插入速度,我想删除该表的索引,然后重新安装索引。
移除全表的索引会花费太多时间,因为有12亿行。我使用的是Postgres 11。
你可以分离分区,丢弃索引,加载到分区,重新创建索引,再重新连接分区。
当然,只有在加载时不需要连接分区的情况下,这样做才好。