当前位置:编程学习 > C#/ASP.NET >>

大数量查询时的拥塞问题

大数量查询时的拥塞问题

报表查询实际应用中间遇到大数据量的查询,导致其他进程无法继续。
其实数据库访问层都很简单,很多人也一样是这么写的,就是不知道问题在哪里?
跟踪发现大数据量时似乎并非数据库返回慢,而是OleDbDataAdapter Fill DataSet的时候慢。一个大的查询,使得其他访问的用户的数据访问全部停滞。

下面是的代码,只是表明逻辑。我不知道是否还需要设置什么特定参数才可以避免这个问题。

rsADO = oledbConn.ExeSQLAdoRs(strSql)
OleDbDataAdapter = New Data.OleDb.OleDbDataAdapter
OleDbDataAdapter.Fill(Dataset, rsADO, "report") --------------------编程问答-------------------- 如果你的数据 只是 读取来显示 不是用于 缓存修改
完全没有必要去用 dataset 这个 庞大的东西..
datareader 完全可以了 --------------------编程问答-------------------- 即使用了也不至于拥塞其他进程是不是?关键是这个问题 --------------------编程问答-------------------- 优化一下查询试试 --------------------编程问答-------------------- 不知你是用到綁定。單純的查詢和返回是不會的很大影響的﹐Fill Data所用的時間中,Fill只占4成﹐綁定會占到6成。所以如果你的DataSet用到綁定﹐可以考慮優化你的綁定過程(例如填充數據前先解除綁定﹐填充完成后﹐再用分頁或線程綁定) --------------------编程问答-------------------- 服务器的事吧
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,