John Fabiani <jo...@jfcomputer.com> writes: > I have program that loops though several thousands of records. The loop > contains a select statement that confirms that I don't have a dup and then > inserts a record into a different table. IOW's the statement is checking > against a static table. The size of the table I'm checking does not change > during the loop. I'm sure many have done something similar.
Are you really, truly making *no* changes to the table you're reading? What I'm suspecting is that you are making such changes, in fact lots of them. The number of live rows may not change, but the table is bloating with lots of dead row versions, which can't be cleaned up yet since the transaction that deleted them is still open. This leads to O(N^2) or worse slowdown. There are usually ways around this type of problem, but we'd need more details about what you're really doing. regards, tom lane -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql