【发布时间】:2012-03-21 09:23:24
【问题描述】:
我有以下结构。
CREATE TABLE join_table (
id integer NOT NULL,
col_a integer NOT NULL,
col_b integer NOT NULL
)
CREATE INDEX index_on_col_a ON join_table USING btree (col_a);
CREATE INDEX index_on_col_b ON join_table USING btree (col_b);
CREATE UNIQUE INDEX index_on_col_a_and_col_b ON join_table USING btree (col_a, col_b);
col_a 和 col_b 上也有外键。
显然 index_on_col_a 不再需要,
但是保留或删除它是否有成本或收益?
我的猜测是;
- 保留它会减慢插入速度
- 如果我保留它,仅使用
col_a进行选择可能会更快
【问题讨论】:
-
好像你已经知道答案了?
-
嗯...我应该避免猜测问题吗?也许有人比猜测更有把握。
-
视情况而定,写性能好还是查询性能好,但我个人认为需要drop index index_on_col_a
-
感谢@francs。我通常会。我只是想验证一下我是对的。我想我会删除它。
-
我们已经讨论过这个案例in great detail at dba.SE recently。
标签: sql postgresql indexing postgresql-9.1