postgresql pgAdmin中的Auto FK索引有什么用?

6za6bjd0  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(3)|浏览(142)

在PostgreSQL中从pgAdmin(在我的示例中为1.12.2)创建外键约束时,会选中以下选项:

Auto FK index

我想知道是否它是正确的离开它检查所有的时间,也了解如何开销实际工作。
例如,以下约束:

ALTER TABLE "user"
  ADD CONSTRAINT fk_user_region FOREIGN KEY (intregionid)
      REFERENCES region (intid) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION;

创建以下索引:

CREATE INDEX fki_user_region
  ON "user"
  USING btree
  (intregionid);

请注意,它在从pgAdmin创建约束时只**创建索引。
没有太多关于pgAdmin的文档,也没有关于该选项的具体内容。
谢谢你。

nbewdwxp

nbewdwxp1#

这将为外键列创建索引。默认情况下,SGBD不会为FK列创建索引(默认情况下,索引是为主键和唯一约束创建的)。
这是优化数据库的好做法。
阿特

wooyq4lh

wooyq4lh2#

创建过程中设置为...

然后似乎默认为启用

所以一切都很好!

s6fujrry

s6fujrry3#

当您选择“AutoFK索引”选项时,pgAdmin将生成必要的SQL代码,用于在指定的列上创建索引。对引用的列建立索引通常是有益的。但是,由于并不总是必要的,而且还有其他可用的索引选项,因此创建外键约束不会自动在引用列上生成索引。

相关问题