• [ASP.net]未解的疑惑!


    这里讨论的是三(多)层结构中的数据底层!

    一般而言,大家在写程序的时候都会把代码写成一个一个的类或函数。同样,写数据库的操作类也是如此。这就出现问题了!
    数据库链接类中,实例一个类或调用一个方法,Connection的Open()就打开或是重新实例一次。有时对于一个页面来说,只要Open()一次就可以的了,而在代码中却Open()了多次。这样不就浪费了资源了?

    举个例子:
    一个有DataGrid或DataList的页面中,大家都会把DataGrid或DataList的.DataSource、.DataBind()写成一个函数对吧。而这个.DataSource一定会调用一个类方法来读取数据。而调用这个方法定要实例一个类,即Connection要Open()一次。这问题就来了。
    假如说我们的页面中先要更新一次数据(Insert),再读一次数据库显示数据(Select)。那么这样Connection就Open()和Close()了两次或更多了。
    当然,我们可以把Open()和Close()写成公有函数,再在外部来操作。但这样又增加了代码的烦锁了。

    不知道大家有没有这样的问题。个人看过几个别人写的三层结构中的底层都是这样!一个方法就Open()和Close()一次。如果一个页面要调用几个方法,那么Open()就好几次了。这不很浪费资源了?
    具官方MS的说法:打开到数据库的联接要尽可能的快速关闭
    但是如果仅仅是一个页面的几个SQL操作就要Open()和Close()几次,这相比较之下,难道会比Open()和Close()一次来得要快?

  • 相关阅读:
    Brackets_区间DP
    石子合并_区间Dp
    You Are the One_区间DP
    Palindrome subsequence_区间DP
    Infix to postfix 用stack模板,表达式没有括号
    Java 4
    Java 3
    规范化的递归转换成非递归
    recursion 递归以及递归的缺点
    Infix to postfix conversion 中缀表达式转换为后缀表达式
  • 原文地址:https://www.cnblogs.com/HD/p/134730.html
Copyright © 2020-2023  润新知