-- 建临时表的语句
DECLARE GLOBAL TEMPORARY TABLE SESSION.EXPORT
(
INSTANCE_ID VARCHAR(32),
INSTANCE_CODE VARCHAR(1000),
CLASSIFIER_ID VARCHAR(200),
PARENT_ID VARCHAR(32),
STRING_4 VARCHAR(20000),
STRING_8 VARCHAR(1000)
)on commit preserve rows;
-- 如果不加最后一句on commit preserve rows 插入的数据无法保存
-- 给临时表创建索引
CREATE INDEX SESSION.EXPORT ON SESSION.EXPORT(CLASSIFIER_ID)
由于Insert语句插入临时表遇到大数据量会很慢,我往临时表插数据50w大约用了200s。后来在大神建议下使用load方式插入数据。据说200w数据2s中。
-- load
模板如下所示
实例代码如下所示:
CALL SYSPROC.ADMIN_CMD('
LOAD FROM
(DATABASE ZYRS_METADATA
select
INSTANCE_ID,instance_code,CLASSIFIER_ID,PARENT_ID,STRING_4,STRING_8
from t_md_instance
where namespace like ''/86b2c582006e4ba5808dcd8881d45e3d%'' )
OF CURSOR
INSERT INTO
SESSION.EXPORT (INSTANCE_ID,instance_code,CLASSIFIER_ID,PARENT_ID,STRING_4,STRING_8) NONRECOVERABLE');