首页 新闻 会员 周边

请问一个分批存数据的问题,急,在线等

0
[已解决问题] 解决于 2013-08-01 13:01

请问大家,我有一个数据集比较大,几万条吧
如果一次把它存入数据库的话比较耗费性能,我想实现分批插入数据库
下面是个例子,userlist里大概有几万条数据吧,Tojson方法没有问题,我在save的时候分批save,可能分10批,第一批0-1000,第二批1001-2000,第三排2001-3000以此类推,请问怎么实现呢

List<User> userlist = GetData(); 
string json = userlist.Tojson(); 
service.save(json);  
WEBBER的主页 WEBBER | 初学一级 | 园豆:2
提问于:2013-08-01 09:50
< >
分享
最佳答案
0
是否可以先对数据集分页,然后分批保存。
List<User> userlist = GetData(); 
var intPageSize =1000;
var all = new List<List<User>>();

var intPageCount = (userlist.Count() + intPageSize - 1) / intPageSize;
for (int i = 1; i <= intPageCount; i++)
{
var item = list.Skip((i - 1) * intPageSize).Take(intPageSize).ToList();
all.Add(item);
}

foreach(var u in all){
  string json = u.Tojson(); 
  service.save(json);  
}

 

            
奖励园豆:5
21天后 | 初学一级 |园豆:3 | 2013-08-01 11:02

谢谢,其实就是个分页,自己在里面没转出来

WEBBER | 园豆:2 (初学一级) | 2013-08-01 13:00
其他回答(1)
0

使用CYQ.Data的MDataTable的实现批量插入,每秒10条以上~~,批量是瞬间的事。

文章:http://www.cnblogs.com/cyq1162/p/3216267.html

路过秋天 | 园豆:4787 (老鸟四级) | 2013-08-01 12:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册