【发布时间】:2014-03-22 07:02:33
【问题描述】:
在向表中插入大量数据时(从另一个表中,不按特定顺序),如何优化多列索引,以便以最快的方式更新索引?
假设索引从未在任何SELECT、DELETE 或UPDATE 查询中使用。* 还假设列的不同计数如下(例如):
COLUMN | DISTINCT COUNT
col1 | 634
col2 | 9,923
col3 | 2,357
col4 | 3
* 在选择数据时不使用索引的原因是这是主键索引或唯一约束索引。索引已经到位,因此违反约束的插入应该会失败。
我已经读过,最有选择性的列应该放在第一位。是否正确,然后按如下方式创建索引?
(col2, col3, col1, col4)
如果这是错误的,你如何确定索引中列的最佳顺序,该索引只能看到大量INSERTs 进入相应的表?目标是在批量INSERT时加快索引的更新。
【问题讨论】:
标签: sql postgresql indexing postgresql-9.1