On Tue, Mar 5, 2013 at 3:51 PM, Shaun Thomas <sthomas@xxxxxxxxxxxxxxxx> wrote:
Why do you assume that opening a cursor with ORDER BY is equivalent to fetching all rows? It is not.
Just curious what made you think so,
thanks
Hey everyone,
Frankly, I'm shocked at what I just found.
We did a delete last night of a few million rows, and come back this morning to find that slony is 9-hours behind. After some investigation, it became apparent that slony opens up a cursor and orders it by the log_actionseq column. Then it fetches 500 rows, and closes the cursor. So it's fetching several million rows into a cursor, to fetch 500, and then throw the rest away.
Why do you assume that opening a cursor with ORDER BY is equivalent to fetching all rows? It is not.
Just curious what made you think so,
thanks