[前][次][番号順一覧][スレッド一覧]

mysql:16394

From: Yuji Fujihara <Yuji Fujihara <yflab73@xxxxxxxxxx>>
Date: Thu, 06 Apr 2017 01:14:24 +0000
Subject: [mysql 16394] MySQLの一時テーブルとパーティションの設計について

お世話になっております。藤原と申します。

以下、2つについて質問させてください。
なお、後日実機でも検証する予定です。

一時テーブルのディレクトリの場所と容量、設定について
初期値では、/tmpに一時テーブルが作成されますが、この一時テーブルの領域は、どのように設計することが多いのかご存知であれば設計例を教えていただけますでしょうか。

OS領域とMySQLのデータ領域のディスクパーティションは分けています。

気になるのは大量のSQLが実行され、一時テーブルが作成され、ディスクフルになってしまった時の挙動です。

ディスクフルになるかもしれないことを想定した場合、一時テーブルはOS領域側とMySQLのデータ領域のどちらにしておくのがベターでしょうか。

また、一時テーブルがなるべく作成されないように、tmp_table_sizeとmax_heap_table_sizeはどの程度の容量を指定すべきでしょうか。

以下のページを参考にしています。
https://dev.mysql.com/doc/refman/5.6/ja/internal-temporary-tables.html
https://dev.mysql.com/doc/refman/5.6/ja/temporary-files.html
http://k-1-ne-jp.blogspot.jp/2012/10/mysqltmpdir.html?m=1



パーティション追加時のInnoDBの書き込みロックについて
MySQLの公式ページでは、パーティション操作時は、テーブルの書き込みロックがかかると記載があります。

InnoDBの場合はどうなのかという記載は特に見つからないのですが、ストレージエンジンに関わらず、必ず書き込みロックがかかると考えてよいのでしょうか。

想定しているは、1テーブルに対して、日毎にパーティションを作成しており、一日一回未来日のパーティションを追加しています。この時、InnoDBにおいて、書き込みロックがかかってしまうのかどうか、書き込みロックの回避方法があるのかどうかです。

ご存知の方がおりましたらご教授いただけますと幸いです。

書き込みロックが回避できない場合は、事前に未来日のパーティションを作成しておくことも考えています。1テーブルに対するパーティション作成の上限値は8192ということも理解しています。

以下のページを参考にしています。
https://dev.mysql.com/doc/refman/5.6/ja/partitioning-limitations.html
https://dev.mysql.com/doc/refman/5.6/ja/online-ddl-partitioning.html
https://dev.mysql.com/doc/refman/5.6/ja/partitioning-limitations-locking.html

藤原

添付ファイル

[前][次][番号順一覧][スレッド一覧]

-> @ 16394 2017-04-06 10:14 [Yuji Fujihara <yflab] MySQLの一時テーブルとパーティションの設計について
     16395 2017-04-06 18:19 ┗["yoku ts." <yoku0825] Re: [mysql 16394] MySQLの一時テーブルとパーティションの設計について