Postgresql的不同查询为何同样解释?
查询1:Postgresql的不同查询为何同样解释?
select c_bh,c_xzdm,c_twhbm,d_tjrq from (
select c_bh,c_xzdm,c_twhbm,d_tjrq
from t_table
order by d_tjrq desc
) t1
limit 10
问题2:
select c_bh,c_xzdm,c_twhbm,d_tjrq from t_table
order by d_tjrq desc
limit 10
相同的计划:
Limit (cost=0.44..18.79 rows=10 width=59) -> Index Scan using i_t_table_d_tjrq on t_table (cost=0.44..32135085.58 rows=17507700 width=59)
回答:
在第一种情况时,PostgreSQL “变平”子查询,以便它可以被优化更好。结果等同于第二个查询。
如果您想避免这种情况,请将优化屏障如OFFSET 0
放入子查询中。
以上是 Postgresql的不同查询为何同样解释? 的全部内容, 来源链接: utcz.com/qa/261733.html