5

単純な更新クエリに問題があり、mysql-slow-query.log テーブルに常に表示されるものは大きくなく、3021 rows.

クエリは次のようになります。

UPDATE 'address' 
SET 'user' = 1013 
WHERE 'id_adress' = '1' 
    AND 'date' = '2012-06-04'

Query_time: 2.664413 Lock_time: 0.000043 Rows_sent: 0 Rows_examined: 1

このクエリを次のように調べると:

select  'user' = 1013 
from 'address' 
where  'id_adress' = '1' 
   AND 'date' = '2012-06-04'

それから非常に速く見えます1 row in set (0.00 sec)

なぜこの単純な更新クエリにこんなに時間がかかるのでしょうか? 修正方法は?

4

1 に答える 1

1

最初にテーブルがクラッシュしていないかどうかを確認し、クラッシュして
いる場合はテーブルを修復します。

次に、where 句で使用される 2 つのフィールドにインデックスを付けます

于 2012-11-02T15:29:04.023 に答える