
main(){ hnd = CreateTHread( func1 ); // Call fun2() wait(hnd); return ;}fun2(){ //Access database to perform some read operation on table A}func1(){//Access database to perform some read operation on table A// Recursive operations} 我观察到的是,如果我使用线程方法,fun2()需要更长的时间才能完成.可能是因为THread func和fuc2正在同一个表上工作.注意,两个函数中只有读 *** 作. AWR报告表明,使用线程方法时,查询exectutions的数量增加了
解决方法 一个类似的问题 – Multi-threaded database read accessOracle JDBC接口以及Oracle本机驱动程序(我猜)能够处理多线程请求(http://www.cs.umbc.edu/portal/help/oracle8/java.815/a64685/tips1.htm)
但是,当涉及到数据库引擎中的实现时 – 这一点尚不清楚.从当前文档中我的理解是,只要您的请求是Readonly而无意更新就不会发生锁定,您应该看到性能提升(至少是次要的).
然而,还有许多其他因素决定引擎是否会使用并行性.服务器(多核)等的硬件配置还可以确定查询引擎是否采用并行或排队方法.
顺便说一下你在两种方法中观察到的时间差异有多大.您的数据量是多少?
总结以上是内存溢出为你收集整理的c – 并行线程中的数据库访问,可行的选择?全部内容,希望文章能够帮你解决c – 并行线程中的数据库访问,可行的选择?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)