English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
서론
최근 프로젝트를 진행하면서 일批量 데이터를 입력해야 했습니다3000만多条의 POI 데이터를 Oracle 데이터베이스에 저장했습니다. 간단한 삽입 및 입력 속도가 너무 느릅니다. sqlldr를 사용하여 대량 입력을 합니다3000만多条 데이터가 걸렸습니다20분 정도, 속도는 괜찮습니다. 지금 여러분과 공유합니다. 구체적인 방법은 다음과 같습니다:
1. 새로운 입력 제어 파일 input.ctl을 만들어서, 파일 내용은 다음과 같습니다:
데이터 로드 UTF 코드셋8 Infile 'H:\POI\baidu.txt' Append into table tbl_poi_baidu fields terminated by "," Optionally enclosed by '""' Trailing nullcols (POI_NAME,CLASS_ALL,ADDR,PHONE,TEL,LONGITUDE,LATITUDE,CITY,CITYCODE,PROVINCE,DISTRICT,STREET,STREENUMBER,CLASS_1,CLASS_2,CLASS_3,CLASS_4)
2. 명령 프롬프트 창에 입력:
sqlldr userid=sde/sde control=input.ctl log=log.out discard=discard.txt errors=1000000
주의:파일 문자 집합은 Oracle 서비스와의 문자 집합과 일치해야하며, UTF로 파일을 다시 저장하는 것이 좋습니다.-8No BOM, 파일 내에 Characterset UTF 추가8 ,Oracle 데이터 가져오기 중 중국어 맵핑 문제 해결: export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL'32UTF8'
DOS 환경에서 파일 빠르게 병합: copy *.csv newfile.txt
결론
이것이 이 기사의 모든 내용입니다. 이를 통해 Oracle 데이터베이스를 배우거나 사용하는 데 도움이 되길 바랍니다. 의문이 있으면 댓글을 통해 교류해 주세요.
선언: 이 글의 내용은 인터넷에서 가져왔으며, 저작권자는 모두입니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 이 사이트는 소유권을 가지지 않으며, 인공 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 위반 내용이 있으면 이메일을 보내 주시기 바랍니다: notice#oldtoolbag.com(이메일을 보내면, #을 @으로 변경하십시오. 신고하시고 관련 증거를 제공하시면, 사이트가 즉시 위반 내용을 삭제합니다.