请问大家,我有一个数据集比较大,几万条吧
如果一次把它存入数据库的话比较耗费性能,我想实现分批插入数据库
下面是个例子,userlist里大概有几万条数据吧,Tojson方法没有问题,我在save的时候分批save,可能分10批,第一批0-1000,第二批1001-2000,第三排2001-3000以此类推,请问怎么实现呢
List<User> userlist = GetData(); string json = userlist.Tojson(); service.save(json);
是否可以先对数据集分页,然后分批保存。
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); }
谢谢,其实就是个分页,自己在里面没转出来
使用CYQ.Data的MDataTable的实现批量插入,每秒10条以上~~,批量是瞬间的事。
文章:http://www.cnblogs.com/cyq1162/p/3216267.html