5
간단한 업데이트 쿼리에 문제가 있습니다. 내 mysql-slow-query.log 테이블에 항상 나타나는 것은 큰 것이 아니며 단지 3021 rows
만 포함하고 있습니다.MySQL의 간단한 UPDATE 쿼리가 오래 걸린다
쿼리 보이는 같은 :
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 클라이언트에서). –