循环遍历两个表的最佳方式

问题描述 投票:0回答:1

[基本上,我正在处理来自ICU患者的数据并研究特定疾病。对于每个患者,我在患者入住ICU的所有期间都处于疾病阶段,如您在此处看到的那样:

timeline table

我拥有的另一个表是记录表:

records table

我只是想在进行该测量时将疾病的阶段添加到记录表中,可以简单地通过records.charttime BETWEEN timeline.starts AND timeline.ends进行确定,但是由于记录,我想以最优化的方式进行具有近100,000,000行的表,而timeline表位于100k行的表。

[我了解了CURSOR的用法,但我不知道在这种情况下使用CURSOR是否有意义,或者我只是增加了复杂性,可以使用JOIN轻松解决。] >

最佳解决方案是什么?

[基本上,我正在处理来自ICU患者的数据并研究特定疾病。对于每个患者,我在患者入住ICU的所有期间都处于疾病阶段,如您在此处看到的:...

postgresql postgresql-performance
1个回答
0
投票

使用显式游标进行循环通常比普通联接要慢。 Postgres将为您执行循环,最有可能在查询计划中使用嵌套循环。

© www.soinside.com 2019 - 2024. All rights reserved.