查询引用其他表主键的表时,PostgreSQL会使用对方表的索引吗?
PostgreSQL是否会使用users表id字段的索引?
不会。
你的查询语句SELECT * FROM todos WHERE user_id = 1;仅针对todos表进行查询操作,全程没有涉及users表。users表的id字段索引是建立在users表自身上的,和当前查询的todos表没有关联,因此PostgreSQL不会使用这个索引。
如果想要优化该查询的性能,应该在todos表的user_id字段上创建索引,示例语句如下:
CREATE INDEX idx_todos_user_id ON todos(user_id);
内容的提问来源于stack exchange,提问作者Eugene
相关产品推荐
相关产品推荐

