Currently, if you create a temporary table with the ON COMMIT action of
DELETE ROWS, the table will truncated for every commit, whether there is
any data in the table or not.

I measured the overhead using this test:

        $ (echo 'CREATE TEMPORARY TABLE TEST2 (x int);'; jot -b 'SELECT 1;'
        10000) | time psql  test > /dev/null
                6.93 real         0.93 user         0.78 sys
        $ (echo 'CREATE TEMPORARY TABLE TEST2 (x int) ON COMMIT DELETE ROWS;';
        jot -b 'SELECT 1;' 10000) | time psql  test > /dev/null
                7.93 real         1.02 user         0.72 sys

The overhead measures 14%.  Is there a simple way to avoid the repeated
truncation overhead of such cases?  Is this a TODO?

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to