您的位置:首页 > 其它

程序执行效率为何如此低下呢?

2008-07-18 12:25 211 查看
昨天新项目魔兽资料库上线测试,反馈都说技能那块速度有点慢,看了一下,的确是,用EQATEC分析了一下,结果如下:



很显然,问题出现在SqlDataProvider.GetItemInfo方法上面,这个方法的代码如下:

public ItemInfo GetItemInfo(int itemID)

{

using (SqlConnection connection = GetSqlConnection())

{

SqlCommand cmd = new SqlCommand("Proc_Item_GetModel", connection);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("@ItemID", SqlDbType.Int).Value = itemID;

ItemInfo item = null;

connection.Open();

SqlDataReader reader = cmd.ExecuteReader();

if (reader.Read())

{

item = LoadItemInfoFromDataReader(reader);

}

reader.Close();

reader.Dispose();

cmd.Dispose();

connection.Close();

return item;

}

}

此方法平均用时84ms,而被调用的两个方法用时均不到1ms,可是这一段程序,代码上我已经没办法优化了,感觉问题应该是出现在cmd.ExecuteReader上面,也就是说,问题出在从数据库取数据上面,可是,这个存储过程是很简单的,就是一个select,目前数据库记录,也就是2W多条。

问题出在哪里呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: