Stephen Frost wrote:
delete from x;/truncate x; --> Creates a new, empty, file and makes it the 'current' file --> Marks the old file for deletion, but it is kept around for any transactions which were started before the truncate; --> New transactions use the empty file --> Once all transactions using the old file have completed, the old file can be deleted. --> Old transactions which insert rows would need to use the new file or scan the old file for rows which they added, I suppose.
And when the transaction that issued the TRUNCATE aborts after step 3, but newer transactions commit?
Mike Mascari ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend