postgresql – 需要外键索引

我正在努力使用索引,主键和外键……以及需要全部使用它们.

如果我有两个表,则它们都有一个整数作为主键.
一个表通过FK引用第二个表的主键.

>在两个表上,我在ID列上有一个主键索引
>我在table1.ref_field上创建了一个FK约束,引用了第二个表的PK(table2.id)
>我在table1.ref_field上添加一个索引

这是组织这些索引(主键和外键)的最佳方法吗?

你的设计很好.如果遇到性能问题(在设计时无法知道),则应在列table1.ref_field上创建索引,其顺序与table2.id列的顺序相同(ASC).这将提高表/列之间的连接性能.维护任何索引都有开销,因此您需要权衡该成本与提高性能的好处.

不幸的是,Postgresql不会在引用其他列的外键列上自动创建这样的索引,因此您必须自己完成.

这是关于同一主题的StackOverflow问题:

Postgres and Indexes on Foreign Keys and Primary Keys

这是一个查询,以帮助确定添加此类索引可能从中受益:

Postgresql: Indexes on Foreign Keys

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...