CREATE INDEX alias_pub_idx2
ON info.palias
USING btree
(publisher_id, player_id, pub_player_id);
CREATE INDEX alias_pub_idx3
ON info.palias
USING btree
(player_id);
第一个包括三列;后者只包括一个。我认为它们是多余的——第一个 btree 索引就足够了,但我不太熟悉 PostgreSQL 索引方法。想法?
最佳答案
PostgreSQL 多列索引是“有序的”,这意味着只有当 player_id
是 alias_pub_idx2
中提到的第一列时,这才是多余的。
然而,这将是多余的:
CREATE INDEX alias_pub_idx2
ON info.palias
USING btree
(publisher_id, player_id, pub_player_id);
CREATE INDEX alias_pub_idx3
ON info.palias
USING btree
(publisher_id); /* first column of another index => waste of space */
关于sql - PostgreSQL 索引——这些是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526624/