免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2416 | 回复: 6
打印 上一主题 下一主题

[请教]开多个线程往多个表insert能提高性能吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-11 10:11 |只看该作者 |倒序浏览
[请教]开多个线程往多个表insert能提高性能吗?

我有2个结构相同的表,打算各insert 1,000,000行记录(e.g.),大家觉得是一个表一个表的顺序添加快,还是开2个线程同时insert快?

有没有类似经验啊?

论坛徽章:
0
2 [报告]
发表于 2006-08-11 10:34 |只看该作者
这个问题,与ORACLE的设置,OS,硬件都有关系
建议在实施的机器上实测一下

论坛徽章:
0
3 [报告]
发表于 2006-08-11 10:41 |只看该作者
呵呵,我刚才开了2个线程,循环insert记录,和单线程比较,可是测试时间让我很迷茫:
单线程结果为:250,266,250,593,250这样一组结果(毫秒)
多线程结果:203,657,218,187,188
感觉差不多,估计和网络以及cpu的繁忙程度有关。

谢谢了。


btw,怎么我发的新帖子左边没有一个“new”在flash啊?

论坛徽章:
0
4 [报告]
发表于 2006-08-11 10:45 |只看该作者
LZ用的是share server还是专用的(英文忘记怎么拼写的了)
"btw,怎么我发的新帖子左边没有一个“new”在flash啊?"这个吗:好象就是这样的,不太准

论坛徽章:
0
5 [报告]
发表于 2006-08-11 13:05 |只看该作者
你机器有几个cpu,这个跟硬件关系很大。

原帖由 cugdxp 于 2006-8-11 10:41 发表
呵呵,我刚才开了2个线程,循环insert记录,和单线程比较,可是测试时间让我很迷茫:
单线程结果为:250,266,250,593,250这样一组结果(毫秒)
多线程结果:203,657,218,187,188
感觉差不多,估计和网络以及c ...

论坛徽章:
0
6 [报告]
发表于 2006-08-11 13:39 |只看该作者
应该看并发的数量了。在不同的表插入,在ORACLE最大并发连接内应该是可以提高速度的。

论坛徽章:
0
7 [报告]
发表于 2006-08-12 10:59 |只看该作者
谢谢doni ,numenhuang,linternt关心这个话题。

Oracle实例用的是专用服务器模式。不过我想这个和服务器连接方式没什么关系,因为服务器是测试用的,不会有太多的并发用户。

服务器是双CPU超线程的,相当于4CPU.

我是在我的T43上跑的测试程序。

其实问题被我描述的复杂了,我的程序写的2多线程但是用的是2个数据库连接,所以和两个进程同时访问服务器没有差别。

我觉得可以这样描述这个问题:
假设我有2个表,字段为(number,blob,blob)

我要往这两个表中各插入大约1G数据
case1:我在两个2客户端同时做插入操作
case2:我在一个客户端先操作A表,完成后操作B表

插入技术为Oracle的直接路径加载(Direct Path Loading)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP