会话的不同级别对数据库影响
我现在写的程序都是CS传统架构的。
据说Session很消耗资源,所有我在客户端程序上每执行一个数据库的操作后,都把Session关闭;
这样用 select program from v$session 里就没有那个客户端程序;但是一般情况下,如果不关闭客户端程序的Session ,在v$session虽然有一个连接,但是其状态Status为INACTIVE,据说这种状态对数据库的消耗很小,是不是没有必要关闭,因为客户端每次操作数据库,都要开关一次会话,也有点消耗时间和资源;
比如我现在有200个客户端,但是操作也不频繁,同一时刻顶多有5个在操作数据库 ,一般情况下,也就基本不操作数据库;所以,如果我在客户端一直开着Session,那么v$session 里正常就有200个连接,不过基本都是INACTIVE状态,这个是否对数据库性能有影响;我记得10G里面默认的Seesion数量为170,这个170是指所有的Session数量,还是激活状态的Session数量?
我也知道,最好的方法就是使用连接池技术,比如固定40个Session供大家使用,不关闭;谁要用了,就通过中间层连一下;我这里就像知道INACTIVE状态的Session是否有必要关闭?希望能和大家探讨一下。