- 追加された行はこの色です。
- 削除された行はこの色です。
-MySQLのパフォーマンスチューニングについてまとめ
#contents
*参考本・サイト [#ta8a94eb]
-現場で使えるMySQL
-http://blog.cles.jp/item/473
*ツール [#l899409d]
-https://github.com/major/MySQLTuner-perl
wget -O tuner.zip https://github.com/rackerhacker/MySQLTuner-perl/archive/master.zip
unzip tuner.zip
cd MySQLTuner-perl-master/
chmod 755 mysqltuner.pl
perl mysqltuner.pl --user root -pass='xxxxxxx'
*単体チューニング [#md7b35de]
**スロークエリーログテーブル版 [#w4028474]
***確認 [#of190e83]
SHOW GLOBAL VARIABLES LIKE '%query_time%' ;
SHOW GLOBAL VARIABLES LIKE '%slow_query%' ;
***設定 [#a8220a9b]
set global log_output = 'TABLE';
set global long_query_time = 0.3;
set global slow_query_log = ON;
flush logs;
***スロークエリーテーブル [#n97c130f]
select * from mysql.slow_log order by start_time desc limit 10
**スロークエリーログ [#h323c5b7]
一定時間以上かかるクエリーやフルスキャンを行った場合にログに出力する機能。デフォルトではOFF
my.iniに以下を追加
long_query_time=5
log-slow-queries=c:/mysql/slow.log
フルスキャンに関しては4.1からログに取れるようになった。起動オプションに以下を加える
--log-queries-not-using-indexes
[mysqld]
log_queries_not_using_indexes
**オプティマイザについて [#z9918f18]
他DBMSにおいてはコストベースのオプティマイザが優位になりつつあるが、MySQLはルールベースだけらしい。
**クエリーキャッシュ [#d438241c]
#counter