连接的使用原则:尽可能晚打开,尽可能早关闭。
.Net中,有数据连接池维护其性能,不需要担心创建连接时的性能损耗。我可以很负责任地告诉你:这是一个原则问题。
.Net中,有数据连接池维护其性能,不需要担心创建连接时的性能损耗。我可以很负责任地告诉你:这是一个原则问题。
解决方案 »
- C# listbox中的文件读取
- datagridview拖动列了,也就是datagridview变化了,能不能使跟它绑定的datatable也跟着变化
- 如何实现winform控件的扩展
- datagridview的一列子控件combox取值问题
- 运行光标
- sql访问怎么检索ActiveDirectory中的数据
- 2个form之间如何调用Combobox.text值?
- 有关RegisterStartupScript里面的参数的问题
- 请高手指教!!
- ---------csdn的兄弟们给点建议给小弟好吗---快从绝望中死掉了----------
- 求助DataGrid问题
- WinForm程序如何实现自动更新?
窗口打开时 打开连接;
窗口关闭时 关闭即可;写个 Form 的基类来控制这个事情比较好
其他窗口都继承这个 窗口。能少写不少代码!
就按楼主的1,2几种情况的前提之下来讨论。回复人: FlashElf(銘龘鶽) ( ) 信誉:97 2005-01-16 10:54:00 得分: 0
也不是必须关了的如果用户不是很多的情况下SQL SERVER 5000 用户以内
窗口打开时 打开连接;
窗口关闭时 关闭即可;写个 Form 的基类来控制这个事情比较好
其他窗口都继承这个 窗口。能少写不少代码!
这位的回复明显就有实际意义。
...这位的回复明显就有实际意义。===========================好吧,说点有“意义”的。
在程序中我们会用到数据库连接之类的,你会每次都重复、重复再重复地写代码么?
或者使用SqlHelper?或者使用自己封装的数据库访问组件?或者使用对象持久层?
只要不是重复写代码,而是使用数据访问组件,你就应该遵守原则。
可以使用singleton模式建立一个连接类,保证一个应用程序
只有一个连接。
1。这样可以避免频繁的数据库开关操作,方便写程序。
2。对于使用ORM,尤其是nhibernate,如果使用lazy加载模式,
你在加载前必须使session一直代开,使用一个应用程序一个
session (connection类似)太方便啦。而且性能很好。
因此并发用户在500个以下可以考虑使用一个连接。在以下情况下不能使用同一个连接。
1.bs结构。
2.数据库本身不能够同时支持很多连接。看了大家的回复,一致同意:
“连接的使用原则:尽可能晚打开,尽可能早关闭”
能说说优点吗?
我个人认为对于CS结构没有必要频繁的打开连接不安比连接。
可以使用singleton模式建立一个连接类,保证一个应用程序
只有一个连接。
1。这样可以避免频繁的数据库开关操作,方便写程序。
2。对于使用ORM,尤其是nhibernate,如果使用lazy加载模式,
你在加载前必须使session一直代开,使用一个应用程序一个
session (connection类似)太方便啦。而且性能很好。
因此并发用户在500个以下可以考虑使用一个连接。在以下情况下不能使用同一个连接。
1.bs结构。
2.数据库本身不能够同时支持很多连接。看了大家的回复,一致同意:
“连接的使用原则:尽可能晚打开,尽可能早关闭”
能说说优点吗?=============================
只用一个连接可能不太适合处理事务的情况。接下来的2个优点在这种情况下,不是很有效。;)
能说说优点吗?->数据库连接是宝贵和有限的资源,因此尽可能少地占用它。
难道大家都只是写一些玩具,而不是做应用系统么?
目前最新的态度是有些操作前必须先关闭数据库连接,然后再打开,如SQLDataAdapter,
===========
我想不出什么操作需要先关闭数据库连接。SQLDataAdapter是不需要关闭数据库连接的。肯定的。adailee(钉子和毛毛虫) ( )
只用一个连接可能不太适合处理事务的情况。接下来的2个优点在这种情况下,不是很有效。;)
====================
一个连接同样适合处理事务。对于我提到的第二个优点,你使用了NHIBERNATE就知道了。能说说优点吗?->数据库连接是宝贵和有限的资源,因此尽可能少地占用它。
======================
这个确实是一个优点,但是当服务器内存稍微大一点这一点在500用户以下是不用考虑的。
要知道CS结构的程序多数并发访问量在500以下。有的大型数据库支持上万的并发访问量。