Postgresql - 外键约束会自动创建索引吗?

Jos*_*osh 6 postgresql index foreign-key pgadmin

根据 PGSQL 9.3 文档:

因为这并不总是需要,而且有很多关于如何索引的选择,外键约束的声明不会自动在引用列上创建索引。

然而,在我创建了这样一个约束之后,当我运行时,\d <table>我看到索引确实被创建了:

Indexes: "table_primary_key" PRIMARY KEY, btree (id) "fki_table_product_foreign_key" btree (product)

什么可以解释为什么会创建这个?我是否仍然需要在我的产品列上创建另一个索引来提高对它的查询性能?

Jos*_*osh 5

我发现 pgAdmin III 默认执行此操作。当您使用 GUI 创建新的外键约束时,定义选项卡上有一个复选框“自动 FK 索引”。直到刚才我才注意到这一点,所以它解释了为什么要创建索引。