MySQL 서버에서 두 테이블 내부 조인 쿼리를 실행 중이며 매우 느리며 완료하는 데 3 시간이 걸립니다.인덱싱 된 테이블에서 내부 조인 쿼리가 매우 느리게 실행되고 있습니까?
UPDATE table_A ta
JOIN table_B tb
ON ta.field1= tb.field1
AND ta.field2 = tb.field2
SET ta.field2 = tb.field2,
ta.field3 = tb.field3
WHERE tb.field5 = 'ABC'
table_A는 65 개 행이 table_B 100,000 행
모두 타
있습니다.field1
, ta.
field2
, tb.
field1
, tb.
field2
, tb
field5
은 모두 EXPLAIN 결과에 색인이 지정되어 표시됩니다.
어떻게하면 더 빠르게 실행할 수 있습니까? 이 쿼리
인덱스 작성 SQL을 추가하십시오. 아마 인덱스가 잘못되었습니다. 분명히 tb.field5에 인덱스가 있습니다. – Andrew
인덱스가있는 필드를 업데이트하고 있습니다. 너는 왜 그것을 필요로 하는가? –
나는이 질문을 downvote하지 않았지만 앞으로는 쿼리 최적화 도움말을 요청할 때 데이터 형식, 인덱스 및 제약 조건을 볼 수 있도록 쿼리의 각 테이블에 대해 'SHOW CREATE TABLE'출력을 포함 시키십시오. . 또한'EXPLAIN'의 출력을 포함하십시오. –