お世話になっております。藤原と申します。
以下、2つについて質問させてください。
なお、後日実機でも検証する予定です。
一時テーブルのディレクトリの場所と容量、設定について
初期値では、/tmpに一時テーブルが作成されますが、この一時テーブルの領域は、どのように設計することが多いのかご存知であれば設計例を教えていただけますでしょうか。
OS領域とMySQLのデータ領域のディスクパーティションは分けています。
気になるのは大量のSQLが実行され、一時テーブルが作成され、ディスクフルになってしまった時の挙動です。
ディスクフルになるかもしれないことを想定した場合、一時テーブルはOS領域側とMySQLのデータ領域のどちらにしておくのがベターでしょうか。
また、一時テーブルがなるべく作成されないように、tmp_table_sizeとmax_heap_table_sizeはどの程度の容量を指定すべきでしょうか。
以下のページを参考にしています。
パーティション追加時のInnoDBの書き込みロックについて
MySQLの公式ページでは、パーティション操作時は、テーブルの書き込みロックがかかると記載があります。
InnoDBの場合はどうなのかという記載は特に見つからないのですが、ストレージエンジンに関わらず、必ず書き込みロックがかかると考えてよいのでしょうか。
想定しているは、1テーブルに対して、日毎にパーティションを作成しており、一日一回未来日のパーティションを追加しています。この時、InnoDBにおいて、書き込みロックがかかってしまうのかどうか、書き込みロックの回避方法があるのかどうかです。
ご存知の方がおりましたらご教授いただけますと幸いです。
書き込みロックが回避できない場合は、事前に未来日のパーティションを作成しておくことも考えています。1テーブルに対するパーティション作成の上限値は8192ということも理解しています。
以下のページを参考にしています。
藤原