【发布时间】:2010-01-18 07:50:00
【问题描述】:
首先,我明白为什么尽快关闭服务器数据库连接是个好习惯。
我正在开发一个包含本地数据库(5 个表 ~ 200 列)的程序,它可能会增长到几千行(所以怀疑它会不会有太多的开销)。我的第一个想法是在程序关闭之前保持本地数据库连接。
您能否确认这是否可以,或强调我不想这样做的原因?
【问题讨论】:
标签: winforms database-connection local-database
首先,我明白为什么尽快关闭服务器数据库连接是个好习惯。
我正在开发一个包含本地数据库(5 个表 ~ 200 列)的程序,它可能会增长到几千行(所以怀疑它会不会有太多的开销)。我的第一个想法是在程序关闭之前保持本地数据库连接。
您能否确认这是否可以,或强调我不想这样做的原因?
【问题讨论】:
标签: winforms database-connection local-database
ADO.NET 与大多数数据库引擎一起默认在后台提供自动连接池。绝对没有必要保持连接打开,因为 ADO.NET 无论如何都会为您执行此操作,并在您重新打开连接时将其返回。只需关闭它,就少了一件需要担心的事情。
【讨论】:
您是否有任何特殊原因要保持连接打开?你想通过这样做达到什么目的?
如果它是一个单用户应用程序,其中数据库将为程序的一个实例提供服务,理论上我想这不会有什么坏处。但是,如果您的应用程序变成一个由多个人使用的应用程序针对同一个数据库运行,这可能会成为一个问题。
我会说;坚持推荐的做法,除非你有非常好的理由不这样做。
【讨论】:
@弗雷德里克 是的,这将是他们用户配置文件上到 localDB 的单个用户连接。我想保持它打开的唯一原因是避免重新连接时可能出现的异常,但我认为连接池响应总结了它,所以我很高兴在完成后继续关闭。
@DrJokepu 干杯
【讨论】: