안녕하세요. db에 alter table 명령 수행중입니다.
mssql 약 70만건 정도 있는 회원db에 필드하나를 추가해야하는 상황이에요.
ALTER TABLE [테이블명] ADD [추가할필드명] tinyint; 명령을 진행하였는데
지금 2시간 반이 지나도록 계속 쿼리 실행중이라서요...ㅠㅠㅠ
이거 시간이 얼마나 소요될지 알 수 있을까요??
|
답변 3개 / 댓글 2개
2020-09-23 (수) 16:30:29
이런 작업은 디비 관리툴에서 테이블복사(구조만복사) 후 필드 추가
테이블 복사(데이터만 복사) 하면 쉽게 됩니다
완료 되면 이전 테이블 삭제하고 복사된 테이블명 변경
2020-09-23 (수) 13:12:27
70만건이면 오래 걸립니다.
답변에 대한 댓글 2개
백수1995
2020-09-23 (수) 13:41:29
테이블의 구조에 따라 다르지만 8시간 걸린적도 있어서. ㅠ.ㅠ
이번에는 일을 저질렀으니 어쩔수 없고
다음에는 대량의 테이블은 다음의 과정으로 수행하시면 좀 편하실겁니다.
1. 데이터를 백업 받는다. ( 파일이나 덤프 파일이나 아무거나 )
2. 테이블을 비운다 ( truncate table )
3. 테이블에 컬럼을 바꾼다. ( alter table )
4. 테이블에 데이타 넣기 ( import data )
이번에는 일을 저질렀으니 어쩔수 없고
다음에는 대량의 테이블은 다음의 과정으로 수행하시면 좀 편하실겁니다.
1. 데이터를 백업 받는다. ( 파일이나 덤프 파일이나 아무거나 )
2. 테이블을 비운다 ( truncate table )
3. 테이블에 컬럼을 바꾼다. ( alter table )
4. 테이블에 데이타 넣기 ( import data )
2020-09-23 (수) 13:06:28
시간은 알수없으나...
쿼리가 잘못된건 아니신지요?
아니면 mssql을 sql접속 툴로 접속하셔서
바로 필드를 생성하시는게 편리하실겁니다.
답변을 작성하려면 로그인이 필요합니다.