使用Oracle和服务器内存,数据处理效率对比

来源:互联网 发布:数控编程g73格式 编辑:程序博客网 时间:2024/06/03 02:17

 

在编写聚合点数据处理过程中,得到如下数据:

方式类型为:

A:临时表为公共数据库表,不停的插入删除临时表,获取分析数据,数据每完成一条,写入一次

B:临时表为处理服务器内存中的DataTable结构,数据写入采用buffer方式,每个比例尺写入一次

C:每个图层创建一个临时表,生成的数据采用buffer方式保存,不使用事务机制

 

持续时间

数据量

数据生成点

方式类型

3:58

3978

1530

A

0:22

3978

2158

B

0:34

3978

2160

C

44:17

35607

20654

A

36:49

35607

27078

B

9:39

35607

27066

C

1:05:46

215492

21453

A

8:33:20

215492

39479

B

0:35:56

215492

39447

C

 

说明:BC是的聚合范围为3厘米,A5厘米,所以会有出入。选取起始点是随机的,所以BC的生成点会不一样。

结论:

1、通过观察、分析以上数据,可以知道使用DataTable对于小数据量(千级)的数据查询是很快的,万级效率就一般了,而到了十万级别效率就非常低了。

2Oracle数据库在无索引的全表遍历上的效率在千级数据上没有什么优势,但是万级以上,他在这里的优化,效率就显而易见了。

3、比较郁闷的是,这种使用数据库实体表做临时表的方法,显然不是最好的,可是目前想不到更好的解决方案,而且,频繁的对数据库进行建表、删表、插入、删除操作,对数据库的效率影响很大。

原创粉丝点击