首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle,一个用户(应用程序连接)多并发会话(多线程连接)

Oracle,一个用户(应用程序连接)多并发会话(多线程连接)
EN

Stack Overflow用户
提问于 2014-02-06 23:34:06
回答 1查看 1K关注 0票数 0

在正常的企业应用程序中,只有一个用户(设置在hibernate.xml或其他配置中)和多并发连接/多并发会话(因为它的多线程应用程序)。

那么,这一个用户的多个会话会互相交织吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-06 23:45:03

这取决于你所说的“干涉”是什么意思。

中间层连接池将打开到数据库的许多物理连接。中间层的会话将从池请求连接,做一些工作,并将连接返回到池。假设您的连接池足够大,足以处理来自应用程序的同时调用的数量(根据会话的数量、每个会话需要逻辑连接的时间长度以及每个会话中“思考时间”与“操作时间”的比例),您将不会因为打开连接而遇到争用。

Oracle非常乐意在多个会话中同时运行查询。显然,一个会话有可能与另一个会话争夺资源。如果两个会话都试图更新同一行,则可能会争用相同的行级锁。如果您有足够的会话,您可能会在CPU或RAM或I/O被过度征税的情况下结束,而一个会话创建的负载会导致另一个会话中的性能问题。Oracle并不关心哪个Oracle用户参与了这种争用--对于10个会话(所有会话都以1个用户的身份运行),您可能有相同的潜在干扰,就像假设会话在做相同的事情时,有10个会话在运行,而10个不同的用户在运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21616385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档