小应用程序中的连接池

问题描述:

我有几个关于连接池和最佳实践的简单问题。 我正在计划和编写一个依赖于MySQL数据库的小应用程序。在这个应用程序中,我使用可创建连接的模块和插件。该应用程序可以直接访问MySQL数据库,它可能是连接到数据库的唯一客户端。小应用程序中的连接池

这是我的第一个问题:连接池是否合理?这是不相关的,还是应该禁用它?你有什么经验?

另一方面,在我的公司,我们开发另一个软件,它有一个MySQL数据库服务器和许多客户端。每个客户端都可以打开多个窗口,其中可以激活多个连接。这个软件很可能会使用我的新应用程序的基本概念。客户端直接与数据库连接。所以我认为编写一个服务器应用程序来处理池和组织连接是很有意义的,对吗?它会让每个客户使用它自己的连接池有多大的意义?我们正在谈论1-10个连接的1-50个客户端。

您认为编写小型服务器应用程序来处理连接池是最好的吗?

我在问,因为我不知道连接池何时合理,何时不合适,以及如何处理中小型客户端应用程序。我正在寻找你的经验的一些输入。 :)我希望问题不要尴尬。 ^^

问候,
西蒙

P.S:这是一个基于Windows的应用程序。不是网络服务。

连接池将给你额外的性能,实际上没有它性能可能是一个问题,即使对于一个小应用程序(这取决于调用数量等)。

考虑正确处理您的连接,以避免“达到最大池大小”错误和超时。一个好的做法是处理你的连接是这样的:使用担保比连接将被正确关闭/处置

using (SqlConnection conn = new SqlConnection(myConnectionString)) 
    { 
     conn.Open(); 
     doSomething(conn); 
    } 

。请检查this文章,其中提供了一些可应用于MSSQL或MySQL的提示。

也考虑使用存储过程。希望这可以帮助你开始。

+0

很晚回复,对不起。您的帖子只对小型计划有帮助。我对实际经验更加好奇,而不是暗示入门。至于使用的部分。如果使用连接池,连接实际上并不实际关闭,它只是返回到池中,稍后关闭或重用。否则,我完全同意。在退出应用程序之前,人们也不应该忘记清理池,否则连接不能正常关闭。链接的文章有一些很好的信息,谢谢。 – Skalli 2011-09-13 07:53:06