在查询完毕后马上关闭数据库的连接是我们应当做的,但有时候也会有例外。例如:当一个实用类中有很多方法,每个方法都有一个打开连接、取数据和关闭连接的方法来提供某种功能,当我们要使用该类的多个功能的时候就要一个个的调用这些方法,如果不在乎那几百或者几十毫秒的时间也是无所谓的,就这样做吧。但是这样做的性能并不是最好的。调用三次的话至少打开三次连接、关闭三次连接,在这频繁的打开和关闭的过程中我们程序的性能悄悄流失!那么如何解决呢?我觉得方法有两个:1.将三个功能调用的SQL写在一起,批量查询;2.保持数据库连接的打开,在这三个功能调用后再来关闭它。
看看保持打开和不保持打开进行7次数据库往返查询的时间区别:
保持连接打开的:
而不保持打开的:
显然可以看到,保持连接的打开可以减少3次再打开连接的操作,而时间就只用了不保持打开是的1/10。由此可看,适当的时候保持连接的打开也是未尝不可的。