2011-10-16 17 views

Odpowiedz

13

Utwórz dysk RAM za pomocą oprogramowania odpowiedniego dla systemu operacyjnego. Użyj CREATE TABLESPACE do create klastra DB na dysku RAM. Gdy podasz swoją tabelę create, użyj klauzuli TABLESPACE. Oczywiście, twoje tabele RAM nie przetrwają po ponownym uruchomieniu systemu, chyba że zapiszesz dysk RAM.

7

Cóż, to nie jest technicznie w pamięci tabeli, ale można stworzyć globalną tabeli tymczasowej:

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

To nie gwarantuje, że pozostanie w pamięci przez cały czas, ale prawdopodobnie będzie (chyba że jest to ogromny stół).

Można również wziąć pod uwagę niezalogowane tabele PostgreSQL 9.1, które zapewniają lepszą wydajność kosztem braku możliwości bycia częścią transakcji (ich operacje zapisu nie są utrzymywane w WAL).

+0

Wielkie dzięki za szybką odpowiedź. – PHPst

+13

Poza tym, że "globalny" jest po prostu szumem w PostgreSQL. Prawdopodobnie przydatne w przypadku kompatybilności z innymi RDBMS. Ja [zacytuj instrukcję] (http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html#SQL-CREATETABLE-COMPATIBILITY): Opcjonalnie GLOBALNE lub LOKALNE można zapisać przed TEMPORARY lub TEMP. To nie robi różnicy w PostgreSQL, ... ' –

+0

Czy wiesz, że istnieje ustawienie dla tabel tymczasowych, aby ograniczyć jego ilość do pamięci? – tothphu