我在MS SQL 2005中有一个带有主键的表,该表有数十万条记录。当我在Management Studio中查询记录时,它带来的速度非常快,但是当我使用下面的代码查找它时,它会花费很多时间。我必须使用数据集,因为我需要更新行。如何提高性能?
objData . ProcName ="myProcName"
objData . CreateCommand()
objData . Parameters("@BName", SqlDbType. VarChar, 20, "MyBranch1")
SqlDataAdapter da = objData . createAdapter()
da . Fill(ds,"MyTable1")
虽然proc代码非常简单:
select * from MyTable1 Where BranchName = @BName
该数据集将以相同的方式打开5个表,因此总时间超过一分钟
最佳答案
您应该考虑使用datareader而不是数据集,并使用sqlcommand进行手动更新。
U还应考虑通过可能提供其他条件来限制要获取的记录数