DB 일괄 등록
본문
안녕하세요.
궁금한게 있어 질문드립니다.
약 천만개 DB를 업로드를 해야하는데요... 빠르게 업로드할 수 있는 방법이 있을까요?
엑셀로도 한계가 있는거 같은데.. 최대 몇개까지가 서버에 무리가 안갈까요?
답변 3
약 천만개 DB를 업로드를 해야하는데요... 빠르게 업로드할 수 있는 방법이 있을까요?
엑셀로도 한계가 있는거 같은데.. 최대 몇개까지가 서버에 무리가 안갈까요?
-->엑셀로는 불가능합니다.
0. db에 접속해서
create table 문으로 필요한 table을 만듭니다.
1. sql문을 만들어서 아래와 같은 명령이 있는 것을 포함하는 sql.txt파일을 만듭니다.
insert into table명 set field1='value1', fiedl2='value2';
insert into table명 set field1='value1', fiedl2='value2';
insert into table명 set field1='value1', fiedl2='value2';
insert into table명 set field1='value1', fiedl2='value2';
insert into table명 set field1='value1', fiedl2='value2';
....
2. ftp로 서버에 올립니다.
3. ssh나 telnet으로 서버로 들어갑니다.
4. mysql -u id -p id < sql.txt
하신 후 비밀번호 묻는 메시지가 나오면 입력하면 됩니다.
그리고 한참 있다가 완료될거예요.. 천만건이라.
**** 조심하셔야 할부분 query문에 홑따옴표 문제가 생기면 중간에 끊겨버리니 꼭 역슬래시로 해서
하셔야 해요
업로드할 파일을 sql문으로 만드시고
서버에 ftp로 올려서
mysql < 명령으로 import 처리하시면 비교적빠르게 처리됩니다.
천만개...를 편집하는게 더 큰 일이긴하겠네요
만약 DB 성능 테스트 데이터를 만드시는게 목적이시라면...
위 URL에 있는 보일러플레이트 소스를 다운로드 받으시고,
/adm/boilerplate/lib/faker.lib.php 의 bp_faker_board 함수를 참고하시면 도움이 될 듯요.
게시글 데이터를 자동으로 생성해줍니다.