首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

千万量级数据的处理有关问题

2012-05-28 
千万量级数据的处理问题最近做的一个数据库管理系统由于数据量过大 现在出现了System.OutOfMemoryExceptio

千万量级数据的处理问题
最近做的一个数据库管理系统 由于数据量过大 现在出现了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版本

這裡
[解决办法]
分页吧,再多内存也架不住数据多啊
[解决办法]
探讨
引用:
你千万数据全放datatable了吧
是的~

[解决办法]
直接通过sql语句在数据库删除重复数据,不要读取出来用程序判断是否重复
[解决办法]
每次查询1000条,分开查询。

热点排行