我正在尝试找出使用不同数量的数据库用户从.Net类访问数据库的优缺点。
有没有反对只使用1个mysql用户的论点
new MySqlConnection("SERVER=localhost;DATABASE=db;UID=alwaysthesameuser;PASSWORD=1234;")或者使用更多的用户会更好?
该应用程序将由最多100个用户(在客户端上工作)同时使用。所有查询都是在服务器机器上完成的。
有没有什么我必须考虑的东西,可能会在以后产生问题?
发布于 2012-07-17 22:45:59
根据经验,要扩展数据库连接,需要设置一个连接池。使用相同的用户。我们称其为应用程序用户。连接池在面向性能的数据库应用程序中是必须的。
当然,这是假设您使用的是n层模型。从你的帖子来看,你似乎有一个n层模型。如果不确定去谷歌如何在.net中设置一个连接池,据我所知这是微不足道的。
发布于 2012-07-17 23:03:53
使用单个“应用程序用户”数据库帐户将获得更好的性能,而不是使用大量用户帐户。
最大的优点是您可以利用连接池,具有可以共享的连接。如果有许多单独的帐户,您将需要许多连接池,每个用户帐户一个。您要避免的是“连接混乱”,即反复连接和断开数据库,这会限制性能和可伸缩性。
还有一个管理优势(至少在数据库方面),因为您不必创建/锁定/删除帐户和授予/撤销权限。不确定在mysql.user、mysql.db等表中使用大量行会有多大影响,但我认为这些表中的大量行不太可能提高速度。
https://stackoverflow.com/questions/11524951
复制相似问题