[基本上,我正在处理来自ICU患者的数据并研究特定疾病。对于每个患者,我在患者入住ICU的所有期间都处于疾病阶段,如您在此处看到的那样:
我拥有的另一个表是记录表:
我只是想在进行该测量时将疾病的阶段添加到记录表中,可以简单地通过records.charttime BETWEEN timeline.starts AND timeline.ends
进行确定,但是由于记录,我想以最优化的方式进行具有近100,000,000行的表,而timeline表位于100k行的表。
[我了解了CURSOR
的用法,但我不知道在这种情况下使用CURSOR
是否有意义,或者我只是增加了复杂性,可以使用JOIN
轻松解决。] >
最佳解决方案是什么?
[基本上,我正在处理来自ICU患者的数据并研究特定疾病。对于每个患者,我在患者入住ICU的所有期间都处于疾病阶段,如您在此处看到的:...
使用显式游标进行循环通常比普通联接要慢。 Postgres将为您执行循环,最有可能在查询计划中使用嵌套循环。