skillup

技術ブログ

Database

MySQLのメモリ設定

投稿日:

実務で結構サーバーをヘビーに使われるお客さんがいて、SQLが遅くなったりとしています。

なんとか対策しないといけないので、いろいろと調査をいます。

それで今回はMySQLのメモリ問題など。

MySQLのトータルのメモリ量は下記の公式で評価できるようです。

メモリ使用量 = グローバルバッファ + (スレッドバッファ x スレッド数)

http://qiita.com/zaburo/items/65bac3b8e0a635ada68c

http://sawara.me/mysql/1428/

初歩的なことから書いておりわかりやすいです。

グローバルはMySQL全体で消費されるメモリで、スレッドのほうは単一のコネクションで使用されるバッファのようです。

どうやらmax_connectionとinnodb_buffer_pool_sizeを適切に設定するのが肝のようです。

http://nick.hateblo.jp/entry/2014/01/26/183822

具体的な設定を試行錯誤しており、メモリの仕様なども随時出しているのでわかりやすい。

全然まとまってないので追記するかも・・・

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

SQL サブクエリ

前回の問題をサブクエリを使って解きます。前年度の売上を出すのが一番難しいので、それを出す方法です。MySQLだとそもそも分析関数が存在しないので・・ [crayon-6657d84f684658883 …

no image

データベースのインデックスについて

今回はデータベースのインデックスに関して。 検索条件を早くする場合、何よりも速度が速くなるのはインデックスを張ることでしょう。 インデックスを張ることは単語を索引順に並べることですので、劇的に速度が向 …

no image

MySQLのロックに関して+サブクエリ内のupdate

MySQLのロックに関して。 データベースではデータの整合性を保つために読み書きを一時的に制限する仕組みがあります。(データベースだけではないですが・・・) 大きく分けると共有ロック(書き込みは当然だ …

no image

SQL基礎 結合に関して

SQL実践入門を読んで勉強しておりますが、本日は結合に関して。 Contents1 クロス結合2 内部結合3 外部結合4 結合のアルゴリズムとパフォーマンス4.1 NestedLoops4.2 Has …

no image

SQL基礎 ウィンドウ関数

SQLの基礎(主にSELECT)を whereはレコードに対しての集計、havingはレコードの集合に対しての集計 ビューは一時的なselect文なのでサブクエリとほぼ等価 条件分岐で出力項目を変えた …

アーカイブ