• 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是只进的,你读了第一条后就不能再去读取第一条了。 缺点就是
    :需要你去维护建立起来的这个数据库连接,所以如果用户访问量大时,有可能导致连接池异常。

  • 相关阅读:
    HTTP协议
    HTTP请求
    scoket
    Git的简绍
    SpringBoot添加“热部署”
    SpringBoot入门(简绍和案例)
    JVisual VM工具使用以及垃圾回收机制
    jstack应用
    Jvm优化(1)
    Spring Data ElasticSearch的使用十个小案例
  • 原文地址:https://www.cnblogs.com/yuxiaohui/p/3204653.html
Copyright © 2020-2023  润新知