MySQL 테이블에 필드를 추가했습니다. 새 열을 다른 테이블의 값으로 채워야합니다. 다음은 실행할 쿼리입니다.750k 행에 MySQL 업데이트 쿼리를 실행하십시오.
UPDATE table1 t1
SET t1.user_id =
(
SELECT t2.user_id
FROM table2 t2
WHERE t2.usr_id = t1.usr_id
)
이 쿼리는 239K 행에서 로컬로 실행되었으며 약 10 분이 걸렸습니다. 실제 환경에서 그렇게하기 전에 내가하고있는 일이 괜찮은지, 즉 10 분이 합리적으로 들리는 지 물어보고 싶었습니다. 아니면 다른 방법으로해야합니까, PHP 루프? 더 나은 쿼리? 누락 된 정보의이 개 오히려 중요한 부분이 있습니다
이 쿼리는 동일한 결과 (즉, 결석 한 행에'NULL's)를 생성하기 위해 'LEFT JOIN'이 필요합니다. – Quassnoi
와우! 100 행 - 평균 650ms에 대한 쿼리를 테스트했습니다. 두 테이블의 usr_id에 생성 된 인덱스 키 MUL 100 행 평균 7ms! – ed209
@ ed209 : 약간의 변화가 얼마나 큰 영향을 미칠지 놀랍습니다. – Eric