用sybase iq作为数据仓库的存储,确实有其独特的特点和优势,但是在数据ETL的时候,如果用insert、update方式,速度太慢,大概是2秒钟左右一条数据。好在iq提供了一条load语句来解决这个问题。
load语句的格式:
[code]LOAD TABLE [ owner ].table-name
[ ( load-specification, ... ) ]FROM 'filename-string', ...
[ FORMAT { 'ascii' | 'binary' } ]
... [ DELIMITED BY string ]
... [ STRIP { ON | OFF } ]
... [ QUOTES { ON | OFF } ]
... [ ESCAPES { ON | OFF } ]
[ ESCAPE CHARACTER character ]
[ WITH CHECKPOINT ON|OFF ]
... [ load-options ][/code]
下面是从一个文本文件load到表F_INN_IA_DAILY_SUM中的语句:
set temporary option date_order=YMD;
Load Table F_INN_IA_DAILY_SUM
(
ORG_SID '+|+',
DEAL_SID '+|+',
ALL_TIME_SID '+|+',
R_COUNT_DIM_SID '+|+',
T_TAX_STOR_COST '+|+',
T_STOR_COST '+|+',
T_STOR_SUM '+|+',
CREATED_DT 'X0A'
)
From '/load_data/F_Inn_IA_Daily_Sum.txt'
ESCAPES OFF
QUOTES OFF
NOTIFY 100000
WITH CHECKPOINT ON;
COMMIT
其中+|+是字段的分隔符,X0A是记录的分隔符,即回车(文本文件中)。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11289496/viewspace-972484/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11289496/viewspace-972484/