前言
最近做項目的時候需要導入一批3000多萬條的POI數(shù)據(jù)到Oracle數(shù)據(jù)庫,簡單的插入導入速度太慢,使用sqlldr 批量導入3000多萬條數(shù)據(jù)花了20分鐘左右,速度還可以,現(xiàn)在分享給大家,具體方法如下:
1.新建導入控制文件 input.ctl,文件內(nèi)容如下:
Load dataCharacterset UTF8Infile 'H:/POI/baidu.txt'Append into table tbl_poi_baidufields 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-8無BOM,導入文件內(nèi)添加 Characterset UTF8
,解決Oracle數(shù)據(jù)導入中文亂碼:export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
DOS環(huán)境下文件快速合并: copy *.csv newfile.txt
總結
以上就是這篇文章的全部內(nèi)容,希望能對大家學習或者使用Oracle數(shù)據(jù)庫有所幫助,如有有疑問大家可以留言交流。
新聞熱點
疑難解答
圖片精選