小弟初学开发,有几个问题甚为不解,请各位大拿帮忙解答。
1.一般来讲,当对数据库进行读写操作时,是一次性把表中的数据全读过来还是当需要此数据时查表读数据?好像表象来讲是把数据一次性都读进来比较好,但是有些逻辑中的数据是在某些场合才需要的,把所有数据都读进来好像也很浪费。这种情况是根据数据量再根据不同场合选择还是怎样?最好能举一些具体的例子不解
2.初始化建立数据库连接后,是每次对数据库进行操作时每次都打开和关闭连接,还是一次一直保持此数据库的连接等最后一次关闭并释放连接?如果是悲观锁的场合是不是必须要保持此数据库一直要保持打开状态?不解
大恩不言谢~~
1,看数据量的大小,要是几十上百的数据一次读取无所谓(实际项目这几乎是不可能的),一般不推荐读取所有数据
2,数据库操作肯定是每次操作都进行打开关闭,应用程序不会是不停的读取数据,始终打开一个闲置的数据库连接是很耗资源的。
目前的.net架构基本都是使用脱机形式的数据表示如DataSet,仅在比较的时候再和数据库同步
至于数据的操作,打开连接、关闭连接一般的项目不直接使用,可以通过一些O/R mapping的工具或框架实现,这些框架提供的一般都是数据库连接池,因为数据库连接是比较耗时而且昂贵的资源,C#简单实用推荐企业库 http://www.microsoft.com/practices中可以查看,比较复杂的数据建模,可以使用Ado.net Entity Framework