大数量查询时的拥塞问题
大数量查询时的拥塞问题报表查询实际应用中间遇到大数据量的查询,导致其他进程无法继续。
其实数据库访问层都很简单,很多人也一样是这么写的,就是不知道问题在哪里?
跟踪发现大数据量时似乎并非数据库返回慢,而是OleDbDataAdapter Fill DataSet的时候慢。一个大的查询,使得其他访问的用户的数据访问全部停滞。
下面是的代码,只是表明逻辑。我不知道是否还需要设置什么特定参数才可以避免这个问题。
rsADO = oledbConn.ExeSQLAdoRs(strSql)
OleDbDataAdapter = New Data.OleDb.OleDbDataAdapter
OleDbDataAdapter.Fill(Dataset, rsADO, "report") --------------------编程问答-------------------- 加大数据库的连接数目 --------------------编程问答-------------------- 陪同学习 --------------------编程问答-------------------- 用dataReader,是 面向连接的,用一条取一条
你用dataset是存放内存中的,如果你数据量大,会把内存塞爆掉的,当然系统就卡死了 --------------------编程问答--------------------
顶 --------------------编程问答-------------------- 不要把数据fill在dataset了,用sqldataread吧
补充:.NET技术 , VB.NET