千万量级数据的处理问题
最近做的一个数据库管理系统 由于数据量过大 现在出现了System.OutOfMemoryException的问题请问如何处理
源代码:
- C# code
if (Session["Power"].ToString() == "管理员") { Response.Write("<script> alert('您没有去重权限')</script>"); } else { int rows = 0; BLL.CustomInfor bll = new BLL.CustomInfor(); DataSet ds1 = bll.SelectForDelete("业主"); for (int i = 0; i < ds1.Tables[0].Rows.Count; i++) { DataSet ds2 = bll.SelectByID("业主", Convert.ToInt32(ds1.Tables[0].Rows[i]["C_id"].ToString())); for (int j = 0; j < ds2.Tables[0].Rows.Count; j++) { if (ds1.Tables[0].Rows[i]["C_Phone"].ToString() == ds2.Tables[0].Rows[j]["C_Phone"].ToString()) { rows = rows + bll.DeleteCus(Convert.ToInt32(ds2.Tables[0].Rows[j]["C_id"].ToString())); } } } Response.Write("<script> alert('共删除了" + rows + "条数据')</script>"); } Bind();
[解决办法]
好像有什么游标之类的可以用吧,不能一次性全部读出来。
程序里读出来一部分就行了,用户如果选择往下浏览,到了最下边再重新读,大概是这样的。
[解决办法]
[解决办法]
你千万数据全放datatable了吧
[解决办法]
你用最快的表格加你的,肯定比其它表格快10倍以上
http://www.dapfor.com/en
我博客有xx版本
[解决办法]
分页吧,再多内存也架不住数据多啊
[解决办法]
[解决办法]
直接通过sql语句在数据库删除重复数据,不要读取出来用程序判断是否重复
[解决办法]
每次查询1000条,分开查询。