擅长:python、mysql、java
<p>作为示例,valid_until在您给出的数据中是逻辑冗余的,如果valid_from上存在索引,并且PostgreSQL将执行降序索引扫描,则使用此逻辑可能会获得更快的结果:</p>
<pre><code>select *
from validity_period
where valid_from <= current_date
order by valid_from desc
limit 1
</code></pre>
<p>检查explain计划,看看它是否是对更大数据集的改进。在</p>
<p>编辑:如果“最后一条”记录的有效截止日期早于今天,并且不返回任何行,请尝试:</p>
^{pr2}$
<p>最后一个谓词读起来可能更好:</p>
<pre><code>where not (most_recent_record.valid_until > current_date)
</code></pre>