如果我在并发系统中的整个应用程序中使用一个数据库连接实例会发生什么?

时间:2017-09-26 11:38:02

标签: asp.net-mvc entity-framework asp.net-web-api ef-code-first database-connection

我正在开发asp.net MVC + WebAPI实体框架代码优先项目,并使用异步方法。目前,我正在按通话创建数据库连接。

创建数据库连接需要很短的时间, 所以每个服务器请求都需要很少的时间来创建数据库连接, 并且对于一千个请求需要更多时间。

现在,我的问题是,如果我在整个应用程序中使用一个数据库连接实例,那会发生什么?

1 个答案:

答案 0 :(得分:1)

SQL Server和Oracle具有连接池,因此即使您为每个调用创建了一个连接类,数据库连接背后的实际资源也会被重用。

如果您有单例连接,则无法获得并发数据库请求。您将对数据库产生单线程瓶颈。

连接池将根据应用程序实际拥有的并发数量而增长和缩小。