MySQL のパフォーマンスの話  ソースコードを通じて学ぶ MySQL のチューニングポイント Tetsuro IKEDA @ 2009/08/28
自己紹介 住商情報システム株式会社 勤務 MySQLのお仕事(構築、サポート、講師)
http://www.scs.co.jp/mysql Tritonn (トリトン) 開発 MyISAMに全文検索エンジンSennaを組込み
http://qwik.jp/tritonn groonga(ぐるんが)ストレージエンジン開発 全文検索用ストレージエンジン
今日のお題 ソースコードを読むことを通じて パフォーマンスチューニングのための 正確な情報を手に入れよう 今回は MySQL 5.1.37 を使用しています
ソースディレクトリの構造 サーバはsqlディレクトリ
クライアントはclientディレクトリ
ストレージエンジンは独自のディレクトリ
それ以外はユーティリティ/依存ライブラリ
SQL処理の流れ ネットワーク受信
プロトコル処理
SQLパーサー
オプティマイザ
実行制御と結果送信
ストレージエンジン
※gdbでbacktraceを取れば1発で分かる
パラメータ設定(ユーザ視点) my.cnfに書いておく
mysqldの起動引数として指定する
SET文で変更する
SHOW VARIAZLES文で確認する
パラメータ設定(プログラム視点) mysqld.cc のmy_long_options配列で定義
5.1以上のpluggable storage engineは別枠
グローバル変数とセッション変数がある
各パラメータ用のGlobal変数
Globalなglobal_system_variables変数
Class THDのvariables変数

MySQLのパフォーマンスの話