PostgreSQL窗口函数计数

时间:2018-06-29 17:52:46

标签: postgresql window-functions

我可以通过该查询System.config({ map: { "aurelia-framework": "node_modules/aurelia-framework/dist/amd/aurelia-framework.js", } }) 进行分页计数,这如何工作?是每行还是仅一次计算计数?

它会影响索引使用吗,因为我知道函数有时会影响索引使用,但主要在where子句中。

像这样执行而不是2个单独的查询(先计数然后取数据)是否有性能损失?我不会执行子查询,因为它将针对每一行运行。

谢谢

1 个答案:

答案 0 :(得分:0)

使用窗口函数比运行两个查询更有效。不会对索引的使用产生影响。

在生成结果集之后,但在LIMITOFFSET之前 计算窗口函数。结果将作为额外的列添加到每一行。

我看不到使用此窗口函数计算的总数对分页有何帮助。

顺便说一句,如果没有LIMIT子句,则使用OFFSETORDER BY毫无意义。