在PostgreSQL中添加额外的外键列以快速查找是一个好的做法吗?

b4lqfgs4  于 2023-05-17  发布在  PostgreSQL
关注(0)|答案(1)|浏览(99)

当我在MySQL Workbench中创建ER图时,软件会自动创建多个外键列,而我希望只有一个外键:

在图像中,您可以看到以下带有多列的外键:

  • 表市fk_city_state1:国家_国家_id +国家_国家_id
  • 桌区fk_district_city1:city_city_id + city_state_id + city_state_country_id
  • 表街道中的fk_street_district1:district_district_id + district_city_city_id + district_city_state_id + district_city_state_country_country_id

this post中我了解到Workbench这样做是为了索引的目的。
当我在pgAdmin 4中创建这样一个ER图时,这些额外的外键列不会被添加。这是关于pgAdmin 4工具有多先进,还是它在PostgreSQL中不是一个很好的实践?换句话说:添加这些额外的列作为外键并在其上放置Auto FK Index是个好主意吗?

disho6za

disho6za1#

根据我的评论,我找到了答案。从信息的Angular 来看,额外的FK列是冗余的。例如,给定街道,可以直接确定该地区,并且可以从该地区确定城市。
额外的列和索引占用更多的空间,对插入性能有负面影响,但可能会加快数据检索的速度,这应该进行测试。

相关问题