首页 > 解决方案 > 连接速度是否取决于表中的记录总数?

问题描述

如果我有一个看起来像这样的表(复合 PK user_id + assets_type):

|user_id|asset_type|amount|

一个用户在此表中最多有 10 条记录。想象一下,如果有 2 亿条记录,我想在user_id上加入这个表。连接速度是否取决于表中的记录总数?

标签: sqlpostgresql

解决方案


那要看。

如果 PostgreSQL 决定使用嵌套循环连接并且您的表是内表,那么连接可以使用主键索引,并且连接的速度实际上与表的大小无关。

对于任何其他连接策略,连接的执行时间将取决于表的大小。

PostgreSQL 选择哪种连接策略主要取决于user_id您加入表的 s 数量。越少,您就越有可能获得嵌套循环连接。


推荐阅读