在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的文档,也没有关于该选项的具体内容。
谢谢你。
3条答案
按热度按时间nbewdwxp1#
这将为外键列创建索引。默认情况下,SGBD不会为FK列创建索引(默认情况下,索引是为主键和唯一约束创建的)。
这是优化数据库的好做法。
阿特
wooyq4lh2#
创建过程中设置为否...
然后似乎默认为启用:
所以一切都很好!
s6fujrry3#
当您选择“AutoFK索引”选项时,pgAdmin将生成必要的SQL代码,用于在指定的列上创建索引。对引用的列建立索引通常是有益的。但是,由于并不总是必要的,而且还有其他可用的索引选项,因此创建外键约束不会自动在引用列上生成索引。