タイプ: | integer |
デフォルト: | 1024 (8MB) |
分: | 100 (800kB) |
最大: | 1073741823 (8589934584kB) |
単位: | 8kB |
コンテキスト: | user |
再起動: | false |
それぞれのデータベースセッションが使用する一時バッファの最大メモリ量を設定します。一時バッファは、一時テーブルにアクセスする時にのみ使用されるセッションローカルのバッファです。この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZ
バイト、一般的には8kBです。デフォルトは8メガバイト(8MB
)です。(BLCKSZ
が8kBでなければ、それに比例して増減します。)設定はそれぞれのセッション内で変更できますが、そのセッション内で一時テーブルが最初に使用されるまでになります。それより後に値の変更を試みても、そのセッションでは効果がありません。
セッションは、temp_buffers
を上限として、必要に応じて一時バッファを確保します。多くの一時バッファを実際に必要としないセッションで大きな値を設定するコストとは、temp_buffers
の増分毎に、1つのバッファ記述子、約64バイトだけです。しかし、バッファが実際に使用されると、それに対して追加の8192バイト(汎用的に言えばBLCKSZ
バイト)が消費されます。
推奨事項 [EN]
Currently used only for holding temporary tables in memory. If your application requires heavy use of temporary tables (many proprietary reporting engines do) then you might want to increase this substantially. However, be careful because this is non-shared RAM which is allocated per session. Otherwise, the default is fine.