假设本人数据库允许的最大连接数是100,而本人程序代码里创建连接池的时候连接池数量是10.当用户请求的时候,已经用了10个连接之后,第11个连接上来的时候会出现什么情况,是排队等待?等连接池里这10个空闲一个的时候在继续,还是跳过连接池,直接从数据库那边操作(可能说的不准确,原因是本人也不知道怎么形容)。
假如是排队等待的话,那是不是意味着数据库的这100个最大连接是没有意义的了,真正的限制是在连接池这里运行的最大数量了?
假如是排队等待的话,那是不是意味着数据库的这100个最大连接是没有意义的了,真正的限制是在连接池这里运行的最大数量了?
解决方案:10分
解决方案:20分
假设本人数据库允许的最大连接数是100,而本人程序代码里创建连接池的时候连接池数量是10.当用户请求的时候,已经用了10个连接之后,第11个连接上来的时候会出现什么情况,是排队等待?等连接池里这10个空闲一个的时候在继续,还是跳过连接池,直接从数据库那边操作(可能说的不准确,原因是本人也不知道怎么形容)。
ANSWER]:程序连接池10个,就是先创立了10个数据库连接,当你用户请求的时候,假如有空闲的连接,直接去池里拿空闲的连接,反而假如已经有了10个用户请求了,第11个用户上来的时候,在你的程序连接池里面,原因是已经满10个了,所以会让你等待并且报错连接池已经满了,而在数据库里面,没有任何影响关系的。
假如是排队等待的话,那是不是意味着数据库的这100个最大连接是没有意义的了,真正的限制是在连接池这里运行的最大数量了?
是的,原因是你的用户请求都是去程序连接池里面去取得。但是数据库的100这个最大值设置还是有用的,原因是连接数据库的也许不止你这一个程序连接池,还有直接的dba连接还有一些数据库分析人员也要连接数据库,他们是不需要使用代码连接池的,他们直接jdbc或odbc远程单独连接了啊。
ANSWER]:程序连接池10个,就是先创立了10个数据库连接,当你用户请求的时候,假如有空闲的连接,直接去池里拿空闲的连接,反而假如已经有了10个用户请求了,第11个用户上来的时候,在你的程序连接池里面,原因是已经满10个了,所以会让你等待并且报错连接池已经满了,而在数据库里面,没有任何影响关系的。
假如是排队等待的话,那是不是意味着数据库的这100个最大连接是没有意义的了,真正的限制是在连接池这里运行的最大数量了?
是的,原因是你的用户请求都是去程序连接池里面去取得。但是数据库的100这个最大值设置还是有用的,原因是连接数据库的也许不止你这一个程序连接池,还有直接的dba连接还有一些数据库分析人员也要连接数据库,他们是不需要使用代码连接池的,他们直接jdbc或odbc远程单独连接了啊。
解决方案:10分
对的,程序设置的;连接池大小是供程序使用的,但是不能将数据库的全部连接都给程序,要预留给其他用户使用