5
我有一個簡單的更新查詢問題總是出現在我的mysql-slow-query.log表中並不大,只包含3021 rows
。在MySQL中簡單的更新查詢需要很長時間
查詢看起來像:
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
當我examinate此查詢有:
select 'user' = 1013
from 'address'
where 'id_adress' = '1'
AND 'date' = '2012-06-04'
然後看起來非常快1 row in set (0.00 sec)
爲什麼這個簡單的更新查詢花費了這麼多時間? 如何解決它?
您是否在表上設置了任何索引?索引可能會影響查詢的更新性能速度,即使它們加速了「SELECT」查詢。 – Ren
@Ren在這張表上沒有索引,ID上只有1個主鍵。 – stefek143
由於這些查詢沒有什麼意義,因爲有單引號的所有內容,我假設您實際上是使用某種客戶端語言生成它們的,並且這是SQL代碼*它認爲它實際上正在運行。我的建議是仔細檢查:1)生成的SQL代碼是什麼2)SQL在外面跑步時的表現(例如,來自您最喜歡的MySQL客戶端)。 –