长连接的PreparedStatement执行完是否要关闭?
程序是每分钟执行一次?
如果执行完一次,PreparedStatement就close
下次用的时候又要重新建立,那会影响效率不?

解决方案 »

  1.   


    第一: 使用PS,一般只有重复使用几十次以上才有性能优势,否则不如直接使用Statement快.(只有一点点性能损失,如果不是重复执行10^n次,用不用PS都无所谓)
    第二: PS存在本省就消耗了数据库资源,我猜测至少要在数据库服务器上开一个线程,占用若干内存空间. 虽然建立一个PS需要花时间,但是并不是需要花很多时间.相对于你等待那1分钟来说,这点时间可以忽略不计.
    虽然PS会消耗服务器资源,(同时也消耗了JVM的资源) 但是毕竟只有一个,不是10^n个.也消耗不了多少内存,多少cpu时间.所以,具体到你这个应用,关不关都无所谓.单从性能这个方面来说,用不用PS也无所谓 
    所以
      

  2.   

    要关闭。长连接指的是Connection
      

  3.   

    连接池里的是Connection吧,preparedStatement是通过connection得到的,在一个事务执行完之后,preparedstatement要关闭。