2011-10-16 10 views

答えて

13

OSに適したソフトウェアを使用してRAMディスクを作成します。 CREATE TABLESPACEcreateをRAMディスク上のDBクラスタに使用してください。テーブルcreateの場合は、TABLESPACE句を使用します。明らかに、RAMディスクを保存しない限り、RAMテーブルはシステムの再起動後も保持されません。

7

まあ、それはあなたがグローバルな一時テーブルを作成することができ、技術的にメモリテーブル内はありませんが、:

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

それがメモリに全体の時間残りますが、それはおそらくすることを保証していません(巨大なテーブルがない限り)。

PostgreSQL 9.1の未ログインテーブルを考慮することもできます。これにより、トランザクションの一部ではなくコストパフォーマンスが向上します(書き込み操作はWALでは維持されません)。

+0

すぐに回答いただきありがとうございます。 – PHPst

+13

"global"はPostgreSQLのノイズに過ぎません。おそらく他のRDBMSとの互換性のために有用です。私は[マニュアルを引用します](http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html#SQL-CREATETABLE-COMPATIBILITY): 'オプションで、GLOBALまたはLOCALはTEMPORARYまたはTEMPの前に書くことができます。 PostgreSQLには違いがありません。 ' –

+0

一時テーブルがメモリにどれだけアクセスするかを制限する設定があるかどうか知っていますか? – tothphu

関連する問題