Josh Berkus <josh@xxxxxxxxxxxx> writes: >> In principle, yeah, we could make it do that, but it seems like a likely >> source of maintenance headaches. This example is not exactly compelling >> enough to make me want to do it. Large OFFSETs are always going to be >> problematic from a performance standpoint, and the fact that we could >> short-circuit this one corner case isn't really going to make them much >> more usable. > It's not that uncommon of a corner case though; it's one which happens > all the time in webapps which paginate. People just have to ask for a > page after the end. It's really a question of how simple the code to > make the optimization would be; if it would be a 5-line patch, then it's > worth it; if it would be a 110-line refactor, no. No, it's really a question of whether it's worth any lines at all, and I remain unconvinced. If someone asks for the last page, or any page near the end, it'll take just about the same amount of time as asking for a page past the end. So any app like this is going to have sucky performance, and kluging the corner case isn't going to help much. regards, tom lane -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance