保持数据库连接打开 - 良好的做​​法?

时间:2012-07-05 14:17:48

标签: python oracle

我正在编写一些Python代码,用于监视新文件的某个目录,并使用cx_Oracle模块将新文件插入到数据库中。该程序将作为服务运行。在给定时间,可能会有许多文件一次到达,但也可能有长达一个小时的时间段,没有收到任何文件。关于良好实践:保持数据库连接无限期打开是不是很糟糕?一方面,有些东西告诉我这不是一个好主意,但另一方面,为每个收到的文件创建一个新的数据库对象并在之后关闭它会产生很多开销,特别是当一次收到很多文件时。任何有关如何处理此问题的建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你只需要一两个连接,我认为无限期地保持开放是没有害处的。

使用Oracle,创建新连接是一项昂贵的操作,与其他一些数据库不同,例如MySQL,创建新连接非常便宜。有时它甚至可能需要几秒钟才能连接,如果它们过于频繁地关闭和打开连接,这可能会成为某些应用程序的瓶颈。

Oracle上的空闲连接使用少量内存,但除此之外,它在闲置时不消耗任何其他资源。

为了让您的DBA满意,您需要确保没有大量空闲连接,但我会对一两个感到满意。