zoukankan      html  css  js  c++  java
  • 程序执行效率为何如此低下呢?

    昨天新项目魔兽资料库上线测试,反馈都说技能那块速度有点慢,看了一下,的确是,用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多条。

    问题出在哪里呢?

  • 相关阅读:
    23种设计模式
    Java实现动态代理的两种方式
    jQuery easyui combobox级联及内容联想
    使用Spring MVC统一异常处理
    springmvc下使用kaptcha做验证码
    Hadoop及spark介绍
    jQuery easyui 之 expend row
    Http 1.1协议
    公钥、私钥、CA认证、数字签名、U盾
    SOA架构介绍
  • 原文地址:https://www.cnblogs.com/bqrm/p/1245957.html
Copyright © 2011-2022 走看看