Chinaunix首页 | 论坛 | 博客
  • 博客访问: 623073
  • 博文数量: 116
  • 博客积分: 6078
  • 博客等级: 准将
  • 技术积分: 1214
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-23 10:09
文章分类

全部博文(116)

文章存档

2016年(1)

2015年(4)

2011年(2)

2010年(21)

2009年(88)

分类: C/C++

2009-11-27 23:04:50

/////////////lihaoyxj@gmail.com
最近要设计一个大数据量的系统,因为要分很多层,要分布到很多的地方,但最终需要一个数据集中的中心服务器和数据库,分层的计划用mysql,数据量达到几百条记录左右,但是中心服务器,预计一天的存储记录量为二千万到五千万条记录左右。以前都做的是数据量相对较少的系统,所以考虑用sql server或oracle来作为中心数据库系统,于是进行一系列测试。
首先,按初步的要求设计的表结构都是一样的表结构,共有三个表,当然数据集中在一个表中。
第一步,sql server的测试:
 windows 2003 server上的sql server 2005,建好表,用ado建行数据插入的操作,单进程单连接,约为一秒插入一千条记录,双进程双连接每秒约八百条左右,但那样算下来要插入几千万条,时间太长了。
    select count(*) from table;在三千万条记录时,约为140秒。
第二步,oracle测试:
    从oracle官网上down10g第二版,在win 2008上安装。
    从oracle下载了occi的库,为了跨平台使用同一接口,在xp上装oracle客户端,不过六百多m作为驱动用太奢侈了点。开始使用vs2003作为开发工具,但occi的库总是出错。所以换成vs2005的c++,但需要down occi for vs8的库,总算是可以了,把前边用于插入sql server的程序把接口换成oracle后,单进程单连接,一秒钟可以插入约二千条记录,后来使用六进程六连接,在长时间操作后,保持在一秒约九百五十条记录左右。六进程在三小时半时可以插入六千万条记录。
    在同一数据库中另一个表中已插入了四亿条记录,所以在select count(*) from table;时,针对六千万的记录的表,查询时间达到240秒左右。但插入记录的确非常快。

阅读(2037) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~