首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >asp.net中使用的一个或多个oracle数据库用户

asp.net中使用的一个或多个oracle数据库用户
EN

Stack Overflow用户
提问于 2013-02-07 10:37:08
回答 2查看 746关注 0票数 0

我有一个关于oracle数据库上这两个场景的性能的问题:

背景:我使用oracle数据库为企业开发asp.net业务应用程序

其一:

在执行某些业务逻辑时,我创建了一个数据库用户,并在asp.net应用程序的连接字符串中使用此用户连接到数据库,因此,如果有20个最终用户同时使用此asp.net应用程序,则所有用户都将作为一个用户连接到数据库

二:

我创建了多个数据库用户(2-5个用户),并在连接字符串池中使用它们,因此如果20个最终用户同时使用asp.net应用程序,则不是所有用户都作为一个用户连接到数据库

哪个更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-07 13:51:56

我不确定甲骨文的细节..。但一般来说,一个好的模型如下:

  1. 创建多个数据库用户,每个用户具有不同级别的数据库访问权限,具体取决于他们的角色。这些数据库用户并不对应于实际用户,而是对应于角色,大概有4个:创建/删除/更新表等的完全访问权限,更新表的写访问权限,从表中选择的读访问权限,执行存储过程和函数。
  2. 对于ASP.NET应用程序所需的任何类型的数据修改,请将此操作封装在存储过程中。本质上,您可以在存储过程级别编写数据访问接口。
  3. 创建一个"stored_procedure_executor“db用户,其访问权限仅允许执行特定的存储过程(和函数)。
  4. 在您的ASP.NET应用程序中,您只需要存储/提供连接字符串(db用户登录信息)用于"stored_procedure_executor“db account.
  5. During开发,维护,支持您将需要能够直接创建/删除/更新/选择,并且为此您可以创建其他具有适当访问级别的db用户。但您将通过数据库管理工具使用这些数据库帐户,而不是通过ASP.nET。因此,永远不需要在ASP.NET级别公开登录信息。

这主要是出于安全考虑,但也可以提高性能,因为它迫使您考虑访问数据的方式/模式,从而允许您优化数据库结构以及最常用查询的实现(嵌入到存储过程中)。

票数 0
EN

Stack Overflow用户

发布于 2013-02-11 20:31:33

这很好,但我的情况是:当20个最终用户同时运行应用程序时,我观察到性能下降,所以这是因为我作为数据库的单个用户完成所有的数据库工作,或者可以通过使用多个用户来增强?

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

https://stackoverflow.com/questions/14742611

复制
相关文章

相似问题

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