zoukankan      html  css  js  c++  java
  • sql中数据库连接与断开式连接有什么区别?

    连接式指的是对数据的操作在 conn.Open() 与  conn.Close()之间
    断开式连接指的是 conn.Open()打开连接之后,先将数据放入adapter中,然后关闭连接(conn.Close()),接着利用adapter对数据进行操作。
    连接式:
    sqlConn.Open();
    SqlDataReader dr=sqlComm.ExcuteReader();
    while(dr.Read())
    {
    for (int i=0; i<dr.FieldCount; i++)
    {
    Console.Write(dr.GetValue(i).ToString()+" ");
    }
    Console.WriteLine();
    }
    dr.Close();
    sqlConn.Close();

    断开式:
    sqlConn.Open();
    DataSet ds=new DataSet();
    adapter.Fill(ds);
    sqlConn.Close();
    //处理数据在打开和关闭之后
    for (int i=0; i<ds.Tables[0].Rows.Count; i++)
    {
    for (int j=0; j<ds.Tables[0].Columns.Count; j++
    {
    Console.Write(ds.Tables[0].Rows[i][j]+" ");
    }
    Console.WriteLine();


    }
    它们各有什么优点和缺点
    
    断开式的主要优点就是:
    一次连接取得数据之后,即可断开,在用户非常多的情况下,不会占用太多的连接池资源。

    还有一点,就是一次性的从数据库中取得了数据之后,这些数据是存在内存中的,而不会再去操作数据库,所以你对
    这些数据做任何的操作,都只是修改内存,不会改变数据库中的内容。缺点就是:刚才提到了,这种方式是把数据一
    次性的读到内存中的,所以在数据量大的时候会非常消耗内存。
      非断开式的优点:
    因为非断开式使用DataReader,每次只在内存中加载一条数据,所以占用的内存是很小的。由于

    DataReader的特殊性和高性能,所以DataReader是只进的,你读了第一条后就不能再去读取第一条了。 缺点就是
    :需要你去维护建立起来的这个数据库连接,所以如果用户访问量大时,有可能导致连接池异常。

  • 相关阅读:
    科普园地
    专家段 错误 新闻
    16进制转rgb
    图片截取0825
    域名的问题 图片显示不出来
    height cell0809
    添加银行卡
    DeviceDelegateHelper.m
    UUID
    MBProgressHUD 动画
  • 原文地址:https://www.cnblogs.com/yuxiaohui/p/3204653.html
Copyright © 2011-2022 走看看