2011-10-16 55 views

Respuesta

13

Cree un disco RAM con el software adecuado para su sistema operativo. Use CREATE TABLESPACE a create un clúster de base de datos en el disco RAM. Cuando create su tabla, use la cláusula TABLESPACE. Obviamente, sus tablas de RAM no persistirán en los reinicios del sistema a menos que guarde el disco RAM.

7

Bueno, no es técnicamente un en la memoria mesa, pero, puede crear una tabla temporal global:

create global temporary table foo (a char(1)); 

No se garantiza que permanecerá en la memoria todo el tiempo, pero probablemente lo hará (a menos que sea una mesa enorme).

También puede considerar las tablas no registradas de PostgreSQL 9.1, que le proporcionarán un mejor rendimiento a costa de no ser parte de las transacciones (sus operaciones de escritura no se mantienen en WAL).

+0

Muchas gracias por la respuesta rápida. – PHPst

+13

Excepto que "global" es solo ruido en PostgreSQL. Posiblemente útil para compatibilidad con otros RDBMS. Yo [cito el manual] (http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html#SQL-CREATETABLE-COMPATIBILITY): 'Opcionalmente, GLOBAL o LOCAL se pueden escribir antes TEMPORAL o TEMP. Esto no hace ninguna diferencia en PostgreSQL, ... ' –

+0

¿Sabe si existe una configuración para que las tablas temporales limiten la cantidad que va a la memoria? – tothphu

Cuestiones relacionadas