DROP TABLE
Time: 17.969 ms
postgres=# create table gt_test(id int,name character varying(20),age int,msg character varying(20)) distributed randomly;
drop external table if exists gt_test_webext;
CREATE TABLE
Time: 16.960 ms
postgres=# drop external table if exists gt_test_webext;
DROP EXTERNAL TABLE
Time: 6.944 ms
postgres=# create external web table gt_test_webext(like gt_test) execute 'sh /home/gtlions/oracle.sh' on master format 'text' (delimiter ',');
CREATE EXTERNAL TABLE
Time: 9.508 ms
postgres=# insert into gt_test select * from gt_test_webext;
select count(*) from gt_test;
INSERT 0 100000
Time: 4253.003 ms
postgres=# select count(*) from gt_test;
count
--------
100000
Time: 9.867 ms
insert阶段耗时4.523S;
3. 加大数据量进行测试
50W 100W 200W 400W 800W 1600W 2000W
经过逐步测试,在50W记录以内,两者的差别不大,在2~3倍左右;
但是一旦记录增多,两者的差距逐步放大:
50W记录差距7倍;
100W记录差距12.9倍;
200W记录差距12.9倍;
500W记录差距13.5倍;
1000W记录差距15.2倍;
。。。。。。
不过在从100W到1亿过程中,时间差距并不是线性增长的。
3. 总结
对于小表来说,使用不落地的方式尚可接受;而对于超过25MB的大小的表速度上差距太大了。
-EOF-