首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >资源优化问题.net

资源优化问题.net
EN

Stack Overflow用户
提问于 2012-02-15 17:07:26
回答 5查看 137关注 0票数 2

资源使用优化有一个范例:-获得延迟并提前发布。考虑到这种模式。我总是看到以下要执行db调用的序列:

parameter

  • finally

  • 创建命令

  • 做验证

  • set

execute命令G 211

如果我这么做有什么不对吗?

  1. 创建命令
  2. 做验证
  3. set参数
  4. 打开连接点

H 121最后执行命令H 222g 223

e.g

代码语言:javascript
复制
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "cus";
cmd.CommandType = CommandType.StoredProcedure;
//Configure input parameters
SqlParameter param = new SqlParameter();
param = cmd.Parameters.Add(new SqlParameter("@id", 2));
param.Direction = ParameterDirection.Input;
SqlConnection conn = new SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=SpringApp;");
conn.Open();
cmd.Connection = conn;
cmd.Prepare();
SqlDataReader reader = cmd.ExecuteReader();
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-15 17:11:20

是的,第二个序列更好。多少取决于1,2,3的工作量。我通常不会认为CreateCommand和SetParameter是一个大问题,但是验证可能需要一些时间,甚至可能导致取消整个任务。很遗憾,如果您已经打开了连接,然后发现数据是无效的。

票数 1
EN

Stack Overflow用户

发布于 2012-02-15 17:09:55

第二种情况是一条艰难的道路:

尽可能晚地打开connection ,并尽快关闭。

票数 2
EN

Stack Overflow用户

发布于 2012-02-15 17:17:28

是的,第二个序列很好,事实上,如果创建命令需要很长时间,那么创建命令实际上更可取,因为它使连接打开的时间更短(但是创建命令通常只需要很少的时间,因此这不会有明显的区别,因此实际上您不应该对此大惊小怪)。

我建议您在可能的情况下使用using statement,以便处理资源并使对象的生存期变得更清楚:

代码语言:javascript
复制
using (SqlCommand cmd = new SqlCommand())
{
    cmd.CommandText = "cus";
    cmd.CommandType = CommandType.StoredProcedure;
    //Configure input parameters
    SqlParameter param = new SqlParameter();
    param = cmd.Parameters.Add(new SqlParameter("@id", 2));
    param.Direction = ParameterDirection.Input;

    using (SqlConnection conn = new SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=SpringApp;"))
    {
        conn.Open();
        cmd.Connection = conn;
        cmd.Prepare();

        using (SqlDataReader reader = cmd.ExecuteReader())
        {

        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9297848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档