MyISAMの性能に関係する設定値とステータス確認方法についてです。※目次をクリックすると目次の下部にコンテンツが表示されます。|+------------------------+-------+2)変数の内容とチューニングの注意点1key_buffer_size・MyISAMテーブルのインデックスブロックはバッファーされ、すべてのスレッドによって共有される。key_buffer_sizeは、インデックスブロックに使用されるバッファーのサイズ。・MyISAMのみを利用していれば、メインメモリの25-33%を割り当てる。TABLE実行時のMyISAMインデックスのソートやインデックス作成時に割り当てられるバッファーのサイズ。・インデックス作成時には大きくしておく。起動時のオプション1–myisam-recover=・MyISAMストレージエンジンのリカバリーモード。・リカバリーが有効になっている場合、mysqldがMyISAMテーブルをオープンするたびにそのテーブルがクラッシュとしてマークされていないか、または正常にクローズされなかったかどうかチェックする。異常があった場合はmysqldはそのテーブルをリペアする。2–delay-key-write・インデックスをディスクに反映させるのをテーブルが閉じられたタイミングのみにする。・クラッシュ時にデータが破損する可能性が増大するため注意。・Key_reads:ディスクからキーブロックの物理レコードを読んだ数。●Key_write_requests,Key_writes・キャッシュミス率は高いことが多い●Key_blocks_unused・キーキャッシュ内の使用されていないブロックの数。・値が大きい場合はキャッシュサイズが大きすぎる可能性大。テーブルデータの変更を伴うクエリの優先度を読み出しより下げる。・各クエリ単位に指定したい場合は、下記のように”LOW_PRIORITY”キーワードを指定する。上記クエリでは、他のクライアントがテーブルからReadし終わるのを待って挿入を行う。tableのオプション)・デフォルトでは、インデックスやキーが更新されるとその更新内容をディスクに書き戻す。更新の頻度が高いテーブルの場合は、これによって多量のディスク書き込みが発生する。tableでdelay_key_writeオプションを指定すると、更新されたインデックスはメモリ内のバッファーに保持され、テーブルがクローズされるまでディスクへの書き出しが遅延される。・クリーンに終了されなかった場合は、メモリ内の更新インデックスデータがディスクに書き戻されず、インデックスが不正となる可能性がある。この場合は、myisamchkを実行して修復する事ができる。データ量の多いテーブルでは実行時間が長くなる。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。