Use of "limit" to return a subset of query results

From: Alanoly Andrews <alanolya(at)invera(dot)com>
To: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Use of "limit" to return a subset of query results
Date: 2020-04-01 18:09:10
Message-ID: QB1PR01MB2562EC1B1EFE606F00F2187AABC90@QB1PR01MB2562.CANPRD01.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello,

I have a query which returns a large number of rows (presumably a total 37454 rows).
I present three cases:

1. Select * from invitj_rec; -- this runs for more than 30 mns after which I terminated it.
2. Select * from invitj_rec limit 37454; -- this returns in a few seconds with 37454 rows.
3. Select * from invitj_rec limit 37455; -- does not return for 30 mns at least (same as case 1)

In case 2, I can use any number less than 37454 and it returns immediately with the specified number of rows. In case 3, any limit of more than 37454 hangs.
So, apparently the query produces a total of 37454 rows. But I do not know this number in advance. I need to run this query without a "limit" and produce the 37454 rows. Apparently all the rows can be produced in a few seconds (as the use of "limit" proves).

It should be noted that invitj_rec is actually a view which consists of a UNION ALL of about 8 different SQL statements on various tables in the database.

Appreciate some input on this issue.

Alanoly Andrews.

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Alanoly Andrews 2020-04-01 19:03:34 FW: Use of "limit" to return a subset of query results
Previous Message Tim Johnson 2020-04-01 15:42:10 Re: Can not make further subscriptions