제품 테이블에 약 140만개 정도의 레코드가 있습니다.
제품의 약어를 풀네임으로 고치려고 아래의 쿼리를 쓰려고 합니다. 이런 쿼리를 약 300개 실행해야 하는데 시간이 엄청 걸리는군요.
update products set fullpartname = replace(fullpartname, 'A/C', 'AIR CONDITIONER') where fullpartname REGEXP '[[:<:]]A/C[[:>:]]';
지금 300개의 쿼리를 넣고 돌리고 있는데, 어떤 쿼리는 수십 초, 어떤 쿼리는 수 분이 걸리기도 하네요.
지금 60%쯤 진행하는데 약 2시간째 mysql이 돌아가고 있습니다.
위 쿼리가 문제인가요? 아니면 이 정도의 양에서 이 정도의 처리 시간이면 정상인가요?
아니면 뭔가 시간을 단축할 만한 좋은 대안이 있을까요?
고수님들의 조언 부탁드립니다. |