1

IO 待機が高い場合、クエリが遅くなります。

iotop コマンドから表示

-- TID -- PRIO -- ユーザー -- ディスク読み取り -- ディスク書き込み -- SWAPIN -- IO> -- コマンド

-- 2311 -- be/4 -- mysql -- 0.00 B/s -- 0.00 B/s -- 0.00% -- 96.25% -- mysql~l.sock

-- 2311 -- be/4 -- mysql -- 0.00 B/s -- 0.00 B/s -- 0.00% -- 96.25% -- mysql~l.sock

-- 2311 -- be/4 -- mysql -- 0.00 B/s -- 0.00 B/s -- 0.00% -- 96.24% -- mysql~l.sock

午後 6:13:28 ~ 午後 6:13:29 に高 IO 待機開始 (sar コマンド)

--------------------- CPU -- %usr -- %nice -- %sys -- %iowait -- %steal

-- 午後 6:13:28 --- すべて ----- 2.53 --- 0.00 ---- 2.02 ----- 39.39 ------ 0.00

-- 午後 6:13:29 --- すべて ----- 1.99 --- 0.00 ---- 1.00 ----- 49.25 ------ 0.00

その間に遅いクエリを取得しました

時間: 130329 18:13:29

ユーザー@ホスト: wdwdwd[wdwdwd] @ localhost []

Query_time: 2.007902 Lock_time: 0.000025 Rows_sent: 0 Rows_examined: 1 SET タイムスタンプ = 1364555609;

UPDATE log_product SET credit=credit+1 WHERE id_product='349721228' and id_user='2021841' LIMIT 1;

## 質問は、このプロセスを修正する方法です。本当の原因は?##

4

1 に答える 1

0

「Log_Product」テーブルに (id_user, id_product) によるインデックスを、2 つのインデックスではなく、各列ごとに 1 つのインデックスとして作成しますか。また、フィールドが数値の場合、引用符は必要ありません...

于 2013-03-29T12:09:09.140 に答える