如果是同一个数据库,是可以用同一个Connection的

解决方案 »

  1.   

    谁说的“数据库操作不能共用同一个Connection”,我跟他急!
      

  2.   

    因为建立数据库连接是一项比较大在耗时的操作,这里的连接是一个物理连接
    如A到B的一个socket连接,完成一个连接的建立需往返发送很多数据包用来认证,准备通信的操作使连接池的一个好处就是省去了每次需要取用数据前的耗时的建立新建接的过程,池中有初始化好的连接直接拿来用就了而且连接池能帮你管理连接,例如你忘关的连接在无活动时自动释放回池中,或者自动关闭
    这就防止了你直接操作连接时忘关连接而造成过多的连接使数据库拒绝被访问单单是A-B的连接当然可以被共用的
    但如果是访问不同数据库的连接肯定是不能被共同的,试想
    A-B的连接,A-C的连接
    访问B时能共同A-C的连接吗,访问对象都不一样了
      

  3.   

    谢谢doway(john)和kypfos(不在寻梦)的解答,我的意思就是建立Connection很影响性能,索性所有操作都用一个Connection算了,照doway的说法(“同一时刻只能执行一个命令”),看来是一个线程内共用一个Connection比较好吧
      

  4.   

    连接是很贵的。几千元买一个 SQL Server 2000,只有 10 个用户许可。所以通常的做法是尽可能更短时间地使用连接,打开连接,执行命令,接着就马上断开了。
      

  5.   

    几千元买一个 SQL Server 2000,只有 10 个用户许可.真的吗?
    中国人真是奇怪,就爱买一些贵的东西,反而放着一些免费的不爱用.真不明白.
      

  6.   

    to shenpipi(皮皮) 
    如果你在一个大型企业,如果你是信息部门管理者。
    你就不会有胆量使用盗版了。因为省下的是公司的钱,
    但是风险却要你来承担,哪个人愿意这么做呢?