【发布时间】:2010-06-15 22:18:10
【问题描述】:
在一个应用程序中,我需要查询一个 Postgres 数据库,我希望结果集中有数千万甚至数亿行。我可能会每天执行一次此查询,甚至更频繁。查询本身相对简单,但可能涉及一些 JOIN。
我的问题是:Postgres 在避免为结果集的每一行搜索磁盘方面有多聪明?考虑到硬盘寻道所需的时间,这可能会非常昂贵。
如果这不是问题,Postgres 如何避免它?它如何知道如何在磁盘上布置数据,以便响应此查询以有效的方式流式传输?
【问题讨论】:
-
希望有人能评论一下 PostgreSQL 的硬解析和软解析能力...
-
在“硬”与“软”解析中,每个 PostgreSQL 查询都是硬解析,除非它是一个 PREPARED 语句,在这种情况下它是预先解析的(当准备好时)。 Postgres 没有查询缓存。
标签: sql postgresql