多线程查询数据的问题

oracle数据库,我设置多线程(1-10)访问数据库的几张表A\B\C(表中均有大概500W数据,索引已做好),1-3访问AB,4-10访问BC,单独执行这些查询基本都在4-6秒左右,但是多线程之后有的线程去查询表需要30多秒。并发查询为何一下效率降低了这么多,是不是两条查询语句访问同一个数据库,其中一条正在查询没结束新来的就要在队列中等待?直到这个查询结束了才执行下一个查询?这种情况该怎么优化?

3个回答

你的服务器配置是不是多核CPU,多核才可能发挥提升多线程性能,而且并没有你想象那么大
http://bbs.csdn.net/topics/390535555

是在服务器上还是开发环境内测试。oracle在单CPU下多线程查询必然会降速。多线程查询只针对多CPU

u011313172
狂野的小公举 是在服务器上。代码中的多线程用不同的查询SQL去查询oracle得到不同的结果集。我本来想的是每个查询需要6秒左右,总共10个这样的查询,顺序运行下来需要60多秒,我以为用多线程并发查询能快些可能在10秒以内并发执行完。那您的意思是,其实多线程查询并不能提升效率,反而会降速是吗?
大约 5 年之前 回复

线程数设少点,设置成CPU核心N+1

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐