タダです.
Aurora MySQL 互換バージョン3での一時テーブルの挙動について整理したいと思い,以下の記事及びドキュメントを読みながら学んだ内容をまとめます.
一時テーブルについて
MySQL では.8.0 より前は一時テーブルのデフォルトストレージエンジンに MEMORY ストレージエンジンが使用されていましたが,8.0 からはデフォルトで TempTable ストレージエンジンが使用されます.TempTable の特徴として一時テーブルをメモリ上に作成し,テーブルサイズが設定値を超えた場合,データをストレージに保存します.
一時テーブルの設定値
一時テーブルの設定値で関連するのは temptable_max_ram と temptable_max_mmap です.
temptable_max_ram: 一時テーブルをメモリ上に作成する最大値temptable_max_mmap: 一時テーブルをストレージ上に作成する最大値
監視について
一時テーブルの監視は以下の観点が紹介されていました.
- FreeableMemory
- FreeStorageSpace
- FreeLocalStorage
- VolumeBytesUsed
- AuroraVolumeBytesLeftTotal
他に Performance Insights の Created_tmp_disk_tables と Created_tmp_tables を見ると良さそうです.
まとめ
Aurora MySQL 互換バージョン3で登場した一時テーブルに関する情報についてまとめました.理解が浅い箇所は別途追記していきます.