首页 新闻 会员 周边

.net中关于数据库的操作时机问题

0
悬赏园豆:30 [已解决问题] 解决于 2011-03-14 11:02

小弟初学开发,有几个问题甚为不解,请各位大拿帮忙解答。

1.一般来讲,当对数据库进行读写操作时,是一次性把表中的数据全读过来还是当需要此数据时查表读数据?好像表象来讲是把数据一次性都读进来比较好,但是有些逻辑中的数据是在某些场合才需要的,把所有数据都读进来好像也很浪费。这种情况是根据数据量再根据不同场合选择还是怎样?最好能举一些具体的例子不解

2.初始化建立数据库连接后,是每次对数据库进行操作时每次都打开和关闭连接,还是一次一直保持此数据库的连接等最后一次关闭并释放连接?如果是悲观锁的场合是不是必须要保持此数据库一直要保持打开状态?不解

大恩不言谢~~

问题补充: 1.数据量比较大的场合,选择一次性读取,或者说,是以尽量减少对DB操作次数为原则进行开发吗? 2.如果是悲观锁的场合是不是要一直保持数据库连接不关闭呢?
小L的主页 小L | 初学一级 | 园豆:170
提问于:2011-03-07 10:04
< >
分享
最佳答案
0

1,看数据量的大小,要是几十上百的数据一次读取无所谓(实际项目这几乎是不可能的),一般不推荐读取所有数据

2,数据库操作肯定是每次操作都进行打开关闭,应用程序不会是不停的读取数据,始终打开一个闲置的数据库连接是很耗资源的。

收获园豆:30
写代码的小2B | 老鸟四级 |园豆:4371 | 2011-03-07 10:20
1%2C%u6570%u636E%u91CF%u5C0F%u7684%u60C5%u51B5%u624D%u8003%u8651%u4E00%u6B21%u6027%u8BFB%u53D6%u5230DataSet%uFF0C%u5F53%u7136%u662F%u4EE5%u5C3D%u91CF%u51CF%u5C11%u5BF9DB%u64CD%u4F5C%u6B21%u6570%u4E3A%u539F%u5219%u8FDB%u884C%u5F00%u53D1%u3002%u5408%u7406%u5229%u7528%u7F13%u5B58%3Cbr/%3E2%2C%u4F7F%u7528%u9501%u7684%u8FD9%u79CD%u60C5%u51B5%u6CA1%u6709%u78B0%u5230%u8FC7%uFF0C%u4E0D%u8FC7%u6211%u8BA4%u4E3A%u5E94%u8BE5%u662F%u4E0D%u5E94%u8BE5%u5173%u95ED%u8FDE%u63A5%u7684%u3002
写代码的小2B | 园豆:4371 (老鸟四级) | 2011-03-07 11:25
@又见fuckyou:太长了~~
小L | 园豆:170 (初学一级) | 2011-03-07 14:48
其他回答(1)
0

目前的.net架构基本都是使用脱机形式的数据表示如DataSet,仅在比较的时候再和数据库同步

至于数据的操作,打开连接、关闭连接一般的项目不直接使用,可以通过一些O/R mapping的工具或框架实现,这些框架提供的一般都是数据库连接池,因为数据库连接是比较耗时而且昂贵的资源,C#简单实用推荐企业库 http://www.microsoft.com/practices中可以查看,比较复杂的数据建模,可以使用Ado.net Entity Framework

2012 | 园豆:21230 (高人七级) | 2011-03-07 12:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册