我有一个要针对 PostgreSQL 9.2 优化的查询:
select coalesce(max(id),0) as m from tbl
它需要永远运行,所以我想我可以将它重写为
select id from tbl order by id desc limit 1
0
除非表中没有行,否则它需要返回。我尝试了一些案例陈述的组合,但它们似乎不起作用。有什么建议么?
计划一个空表:
Aggregate (cost=11.25..11.26 rows=1 width=4)
-> Seq Scan on tbl (cost=0.00..11.00 rows=100 width=4)
成本为 58k,表有 1,190,000 行,但执行计划相同。