首页 新闻 会员 周边

C# 将一个表读入内存和读入数据库处理有什么不同,需要实例

0
悬赏园豆:10 [已解决问题] 解决于 2013-02-05 22:13

各位高手,我想知道这个问题的处理和原理,请求赐教,哪个效率高呢?

C# 将一个表读入内存和读入数据库处理有什么不同,需要实例?

绝对菜鸟的主页 绝对菜鸟 | 初学一级 | 园豆:27
提问于:2013-01-06 10:29
< >
分享
最佳答案
0

读入内存和读入数据库处理 你这问法就有问题。

我给你举个简单的例子,比方说你要给数据库中的一张表,假如是学生表Student做增删改操作。现在你有两种选择,一种就是直接操作数据库,每添加一个新的学生的时候就在数据库中添加一条数据,删除一个学生就删除数据库中的一条数据,改名字,改年龄之类的同上,这估计就是你的“读入数据库处理”的意思吧? 还有一种,就是直接把数据库中内容读出来保存在内存中,最常用的就是用DataTable,然后你对这个DataTable对象做各种增删查改处理,最后再提交到数据库中,这就是在内存中做处理了。

内存的速度肯定比直接操作数据库快,但是如前面的说的,有大小限制,在那些很频繁操作数据库的情况下就需要考虑再内存中操作了。

收获园豆:10
林J | 菜鸟二级 |园豆:202 | 2013-01-14 16:53
其他回答(4)
0

那要看你做什么样的处理,你的数据量有多大?

Launcher | 园豆:45045 (高人七级) | 2013-01-06 10:36
2

当然是内存快,但是内存是有大小限制的,所以大的查询还是在数据库中完成。举个例子,你要查询所有姓张的人,那么肯定是在数据库中完成查询,而不是把所有人的数据加载到内存中再过滤(这样人一多内存就不够了)。如果你有一个表里保存的是一些小数据,你确定一定以及肯定它的数据量很小,并且你确定一定以及肯定它的数据量过去,现在,将来都一直这么小,那么完全可以加载到内存中保存起来,免得每次要用都去查数据库。

水牛刀刀 | 园豆:6350 (大侠五级) | 2013-01-06 10:56
0

肯定是内存快,但是内存是很宝贵的,有大小的限制

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-06 11:06
0

首先就要看你的数据的量大不大了,如果不大的话尽量放内存,虽然内存快但是内存大小是有限的,如果你不再更改数据的话而且也确定它是很少的量就放内存,省事,也可以把它们放到临时表中,以后就从临时表读取

妍珊 | 园豆:1169 (小虾三级) | 2013-01-06 11:42

妍珊,我想问一下,怎样方法内存呢,有没有什么代码可以参考啊?

支持(0) 反对(0) 绝对菜鸟 | 园豆:27 (初学一级) | 2013-01-06 18:39

@绝对菜鸟: 

B/S做不到 你看写生命周期就知道。c/s项目可以。只要你不关闭页面你不释放资源就会保存在内存里面。知道你窗口

支持(0) 反对(0) 深圳_猫仔 | 园豆:16 (初学一级) | 2013-01-07 17:02

@深圳_猫仔: 那么我想知道内存里有哪些东西,也就是我想看内存的内容,有什么办法吗?

支持(0) 反对(0) 绝对菜鸟 | 园豆:27 (初学一级) | 2013-01-09 10:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册