2011-10-16 20 views

risposta

13

Creare un disco RAM utilizzando il software appropriato per il proprio sistema operativo. Utilizzare CREATE TABLESPACE a create un cluster DB sul disco RAM. Quando si usa la tabella create, utilizzare la clausola TABLESPACE. Ovviamente, le tue tabelle RAM non permarranno tra i riavvii del sistema a meno che non salvi il disco RAM.

7

Beh, non è tecnicamente un in memoria tavolo, ma, è possibile creare una tabella temporanea globale:

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

Non è garantito che rimarrà nella memoria per tutto il tempo, ma probabilmente sarà (a meno che non sia un tavolo enorme).

È inoltre possibile considerare le tabelle non registrate di PostgreSQL 9.1, che offrono prestazioni migliori al costo di non poter essere parte delle transazioni (le loro operazioni di scrittura non vengono mantenute in WAL).

+0

Grazie mille per la risposta rapida. – PHPst

+13

Tranne che "globale" è solo rumore in PostgreSQL. Forse utile per la compatibilità con altri RDBMS. Io [cito il manuale] (http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html#SQL-CREATETABLE-COMPATIBILITY): "Opzionalmente, GLOBAL o LOCAL può essere scritto prima di TEMPORARY o TEMP. Questo non fa alcuna differenza in PostgreSQL, ... ' –

+0

Sai se esiste un'impostazione per le tabelle temporanee per limitare la quantità di memoria che va in essa? – tothphu

Problemi correlati