我有一个Windows服务应用程序每5秒轮询一次数据表,想知道我应该创建一个连接并每次重用它,或者每5秒钟创建一次新连接以从数据库中读取数据。数据库连接创建新的或重用?
2
A
回答
1
重复使用效果最好。利用内置的连接池功能。
0
除非有很多其他的应用,这是用于连接到同一数据库的竞争,我会重用连接。但是,您应该在使用它之前检查连接状态,因为连接可能由于某些原因而变得陈旧,例如数据库重新启动,管理员查杀所有活动连接或任何其他Murphys。如果连接失效,则创建一个新连接并开始使用它。
0
声明一个静态连接属性。在get方法中,检查连接,如果连接没有打开,请重新连接。像这样。
public static SqlConnection conn
get{
if(this == null)
{
this = new SqlConnection();
}else{
if(!this.Open()){
this.Connect();
}
}
}
您可以立即使用conn。
2
要说清楚,当你说,“创建一个单一的连接”。我明白要创建一个连接对象的实例。
然后是,当服务启动时创建一个连接的实例,并在服务停止时处理它。
但是,请务必在每次使用它之前和之后打开()和关闭()连接。
ADO.NET会将物理连接池化为数据库,因此您不会有任何性能问题。
相关问题
- 1. 重置或刷新数据库连接
- 2. PHP:共享数据库连接或创建一个新的?
- 3. 重新连接数据库,如果连接重新启动
- 4. 重复使用或重新创建数据库插入脚本
- 5. 重新连接到数据库或使用旧的连接更好的性能
- 6. 数据库连接重用
- 7. 库或数据库连接
- 8. 创建PHP对象时重用数据库连接
- 9. 每次使用PDO数据库类而不创建新连接?
- 10. 自动重新连接postgresq数据库
- 11. TYPO3重新连接到数据库
- 12. Django数据库重新连接
- 13. 重新连接到数据库
- 14. 尝试重新连接到数据库
- 15. AnyEvent :: DBI和数据库重新连接
- 16. 在Django中重新连接数据库
- 17. 无法创建数据库连接
- 18. 创建和连接sqlite3数据库
- 19. 创建数据库连接一次只
- 20. 连接错误和创建数据库
- 21. JPA:创建数据库然后连接
- 22. 在连接上创建PostgreSQL数据库
- 23. java - 创建oracle数据库连接
- 24. 创建数据库连接类java
- 25. 连接 - 蒙戈不创建数据库
- 26. VBA新建数据库连接
- 27. 连接新创建的数据库(Oracle SQL Developer,DBCA)
- 28. 要创建新的数据库连接吗?
- 29. Oracle Lite - 无法连接到新创建的数据库。 [POL-3013]
- 30. 为什么我无法连接到新创建的数据库?
我没有看到重复使用的任何缺点,而每次创建新连接都必然会影响性能。 – 2011-03-02 06:08:30