【发布时间】:2018-12-26 22:11:18
【问题描述】:
我想了解 offset 和 limit 语句何时在 Postgresql 查询中执行。给定一个格式如
select
a.*,
(-- some subquery here) as sub_query_result
from some_table a
where -- some condition
offset :offset
limit :limit
我的理解是首先使用where语句过滤表格,然后将剩余的行投影到select语句定义的表格中。
offset 和 limit 语句是否在 select 语句中发生所有操作后执行?还是先应用where、offset 和limit 语句,然后再应用select 查询部分?
我希望它首先应用 where、offset 和 limit 语句,如果我有一个结果集说 10,000 行,我只想要 1000 的第二页,它只会执行例如,子查询 1000 次。
【问题讨论】:
标签: postgresql limit offset operator-precedence