Разликата е точно тук във втория ред на изхода EXPLAIN:
-> Sort (cost=27.88..27.89 rows=7 width=198) (actual time=2984.688..2984.692 rows=28 loops=1)
Забележете, че "действителното време" е почти цялото време на заявката. Сортирането изисква не само куп сравнения (т.е. разходите за сортиране на каквото и да било), но и допълнително управление на данни, сървърът трябва да копира някои данни (редове или указатели към редове) на временно място, така че да могат да бъдат сортирани, без да се нарушава нищо друго .
Всяка заявка ще отнеме повече време със сортиране, освен ако имате късмет и вашето сортиране съвпада с реда на диска и оптимизаторът може да забележи, че съвпадат.