I think I understand what Bob's getting at when he mentions blocking.
> This is not wrong, or at least not obviously wrong. A full-table
> indexscan is often slower than seqscan-and-sort. If the particular
> case is wrong for you, you need to look at adjusting the planner's
> cost parameters to match your environment. But you didn't provide any
> evidence that the chosen plan is actually worse than the alternative
> ...
The seqscan-and-sort would return the last record faster, but the
indexscan returns the first record faster. If you're iterating
through the records via a cursor, the indexscan behavior would be
more desirable. You could get the initial rows back without waiting
for all 130 million to be fetched and sorted.
In oracle, there is a first-rows vs. all-rows query hint for this sort
of thing.
Yes, that's exactly what I mean. I've already tried your suggestion (set enable_seqscan to off) with no luck.
Bob