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多条。

    问题出在哪里呢?

  • 相关阅读:
    Photoshop 基础七 位图 矢量图 栅格化
    Photoshop 基础六 图层
    Warfare And Logistics UVALive
    Walk Through the Forest UVA
    Airport Express UVA
    Guess UVALive
    Play on Words UVA
    The Necklace UVA
    Food Delivery ZOJ
    Brackets Sequence POJ
  • 原文地址:https://www.cnblogs.com/bqrm/p/1245957.html
Copyright © 2011-2022 走看看