このブログを検索

2011年3月8日火曜日

[MySQL]分離レベルを設定する

my.cnfのmysqldセクションに記述し、再起動すると反映されます。
set global transactionすることもできるようです。
分離レベルの詳細は公式InnoDB と TRANSACTION ISOLATION LEVELを参照してください。
[mysqld]
transaction-isolation=READ-COMMITTED
設定すると次のように表示されます。
mysql> show variables like 'tx_isolation';
+---------------+----------------+
| Variable_name | Value          |
+---------------+----------------+
| tx_isolation  | READ-COMMITTED |
+---------------+----------------+

2011年3月4日金曜日

[MySQL]スローログクエリを調査する

パッケージに同梱されているmysqldumpslowはスローログクエリを調査するのに便利です。
オプションを付けないと、次のようにリテラル値が表示されなかったり実行順にされます。
$ mysqldumpslow /var/lib/mysql/sssdbmy01-slow.log

Reading mysql slow query log from /var/lib/mysql/sssdbmy01-slow.log
Count: 2  Time=6.96s (13s)  Lock=0.00s (0s)  Rows=5844505.0 (11689010), backup[backup]@localhost
  SELECT /*!N SQL_NO_CACHE */ * FROM `t01_quiz0_user_item1`

Count: 2  Time=3.31s (6s)  Lock=0.00s (0s)  Rows=2649981.0 (5299962), backup[backup]@localhost
  SELECT /*!N SQL_NO_CACHE */ * FROM `t01_quiz0_user_area1`
               :
よく使っているオプションは、-a(リテラル値の表示)、-g(パターンマッチング)、-s(ソート)です。
次の例は、リテラル値の表示、カラムitem_qtyで検索、クエリタイムの降順ソートです。
$ mysqldumpslow -a -g item_qty -s t /var/lib/mysql/sssdbmy01-slow.log 

Reading mysql slow query log from /var/lib/mysql/sssdbmy01-slow.log
Count: 1  Time=12.49s (12s)  Lock=0.00s (0s)  Rows=7.0 (7), quiz0001iuser[quiz0001iuser]@sssdev1.sss.examples.co.jp
  select item_qty,count(user_id) item_qty from t01_quiz0_user_item1 where item_qty<>99
  group by item_qty
  order by item_qty

Count: 1  Time=2.02s (2s)  Lock=0.00s (0s)  Rows=7.0 (7), quiz0001iuser[quiz0001iuser]@sssdev1.sss.examples.co.jp
  select distinct item_qty from t01_quiz0_user_item1

2011年3月2日水曜日

Linuxのメモリ割り当て状況を確認する

$ LANG=C sar -R
実行結果は次の通り。
campgが負の値になるとキャッシュがあまり効いていません。
frmpg/s  ・・・  解放されたメモリのページ数/s
bufpg/s  ・・・  割り当てられたバッファのページ数/s
campg/s  ・・・  キャッシュしたページ数/s

00:00:01      frmpg/s   bufpg/s   campg/s
00:01:01      -604.87      0.17      0.08
00:02:01       312.58      0.13      0.05
00:03:01        -3.60      0.22      0.18
00:04:01      -192.49      0.27      0.10
00:05:01        22.62     -1.25    -40.25
00:06:01         6.82      0.23      0.00