Search Postgresql Archives

Re: create table in memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've put up a small test case for creating TEMP and UNLOGGED tables.
DROP TABLE IF EXISTS test CASCADE;
CREATE TEMP TABLE test(
id serial,
the_value text
);
Exec time: 54ms

DROP TABLE IF EXISTS test CASCADE;
CREATE UNLOGGED TABLE test(
id serial,
the_value text
);
Exec time: 198ms

There is a significant difference.

Also I need those tables per session, so creating and dropping with TEMP tables appear to be faster.

Best,
Peter KRoon



2012/11/23 Raghavendra <raghavendra.rao@xxxxxxxxxxxxxxxx>

On Fri, Nov 23, 2012 at 2:43 PM, Peter Kroon <plakroon@xxxxxxxxx> wrote:
I've converted some mssql functions and they appear to be slower in pgsql.
I use a lot of declared tables in mssql as they are created in memory. Which makes it very fast.

2012/11/23 Peter Kroon <plakroon@xxxxxxxxx>
Is a temp table created to memory(ram) or disk?
I've converted some msssq


Not exactly as MS Sql declare tables.
In PostgreSQL, TEMP tables are session-private. These tables are session based and stored in a special schema and visible only to the backend which has created. Memory management is controlled with temp_buffer(shared by all backends) in postgresql.conf.  

You should check UNLOGGED tables of same family, these tables are visible to all the backends and data shared across backends.
Since, data is not written to WAL's  you should get better performance.

---
Regards,
Raghavendra
EnterpriseDB Corporation


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux