[MySql] 테이블 내용 복사하기(인덱스 키 추가하기)

테이블 A에 데이타가 엄청 많이 들어 있는경우 index 키를 추가하면 시간이 엄청 많이 걸린다.(몇시간 이상 걸리는 경우가 많음)


이런경우 

테이블 A의 Create Script로 B를 새로 생성하고 Index 키를 추가한다음 테이블 A의 내용을 테이블 B에 복사하는 과정을 거치면 바로바로 생성이 된다.(1초 이내 ^.^)

B를 다시 A로 대체해야 하는 경우 테이블 A를 삭제하고 테이블 B를 A로 이름을 변경하면 쉽게 해결된다.


step 1 : 복사할 칼럼을 일일이 타이핑하거나 칼럼 한개씩 복사 붙이기 하기보다는 아래처럼 해서 칼럼을 복사한다.

SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema = '데이타베이스 이름' AND table_name = '테이블 A'

복사한 칼럼을 ColumnComma라고 하면


step 2 : 쿼리를 이용하여 데이타를 복사한다.

INSERT INTO 테이블_B ( ColumnComma )

SELECT ColumnComma FROM 테이블_A


^.^
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
42 [MySQL] user Table 권한설명 최고관리자 10-13 2,464
41 [NginX] Codeigniter를 위한 server config 최고관리자 09-09 3,113
40 [Nginx] 역할 최고관리자 09-09 3,047
39 [MySQL] Replace를 이용하여 데이타 내용 치환하기 최고관리자 09-08 2,038
38 [리눅스] Mysql Database 이름을 www.telepasi.com처럼 하면 안됨 최고관리자 09-08 1,993
37 [리눅스] CentOS vsftpd 설치 최고관리자 09-08 2,064
36 [리눅스] 사용자 목록 확인 (Linux User List) 최고관리자 09-08 14,240
35 [NginX] 리버스 프록시(Reverse Proxy)란 최고관리자 09-08 5,418
34 [리눅스] go lang - REST API를 위한 Gin 설치 최고관리자 09-07 2,063
33 [리눅스] go 환경설정 최고관리자 09-07 2,049
32 [리눅스] CentOS7 에서 go Lang 설치하기 최고관리자 09-07 2,021
31 [리눅스] Mysql 원격접속 허용하기 최고관리자 09-07 2,087
30 [서버설치] How to Install PHP 7, NGINX, MySQL on CentOS/RHEL 7.6 최고관리자 09-06 2,090
29 [서버 설치] mysql_secure_installation 최고관리자 09-06 2,006
28 [서버 설치] CentOS7 방화벽 설치 최고관리자 09-06 1,942
27 [DNS] abc.com www.abc.com 레코드 설정 최고관리자 09-05 1,976
26 [리눅스] httpd conf 위치 확인 및 conf 문법검사 명령 최고관리자 09-05 2,700
25 [리눅스] Apache 권한에 대한 참고 사항 최고관리자 09-04 4,694
24 [리눅스] CentOS Apache 주요 디렉토리 최고관리자 09-04 2,155
23 [리눅스] CentOS 6 vs CentOS 7 명령어 대응 최고관리자 09-04 2,283