2014-10-15 2 views
0

을 변경 너무 오래 걸리는 I 주소라는 테이블이 있고 테이블 유형 VARCHAR (6)입니다 열라고 zip5 있습니다.쿼리 실행 내가 <p>MySQL의</p>를 사용하고 테이블

내가 쿼리

alter table address change zip5 zip5 varchar(14); 

를 사용하고 있지만, 쿼리 실행 긴 내가 거의 15분에서 대기하고 쿼리 실행을 기다리고 너무 취하고, 주소 테이블은 970 만 개 기록을 가지고있다. 이 데이터 양에 대해 오랜 시간이 걸리나요? 아니면 제가 여기서 잘못된 것을하고 있습니까?

+1

CHANGE는 열의 이름을 바꾸는 데 사용되며 이름 바꾸기를 시도 할 때 수행 할 작업을 알지 못합니다. 데이터 타입을 변경하려면,'MODIFY'가 더 적절합니다 :'ALTER TABLE address MODIFY zip5 VARCHAR (14);' –

+0

이게 정상적으로 보이는 것 같습니다. http://stackoverflow.com/questions/12774709/mysql-very- slow-for-alter-table-query – NMK

+0

그러나 9.7M은 큰 테이블이며 인덱스를 다시 작성해야하는 경우 시간이 오래 걸릴 수 있습니다. 진행 상황을 보려면 'SHOW PROCESSLIST;'를 수행하십시오. –

답변

0

흠, 내가하지만

ALTER TABLE address MODIFY zip5 varchar(14) 

조금 더 빠른 것 같다 이유를 잘 모릅니다. 필자의 시스템에서는 필적할만한 테이블 구조가 필요합니다.

ALTER TABLE은 사용자의 복사본을 만듭니다. 아마도 병목 목은 당신 HD일까요? SSD를 사용합니까? 또는 빠른 디스크에 임시 테이블 스토리지가 설정되어 있지 않습니까? 디스크가 꽉 찼습니까?

+0

데이터베이스가 ssd에 없다, 그것은 보통의 하드 드라이브에있다. 디스크가 가득 차 있지 않습니다. 나는 아직도 480 GB의 여유 공간을 가지고있다. – mb1987

관련 문제