我如果做个网站,里面写个存储过程,存储过程里面用到临时表,那每个访问网站的人,在使用这个存储过程的时候,不会产生问题啊?比如并发问题,临时表数据量不小。
#temp和##temp,谁能帮忙解释一下,到底是什么意思啊?

解决方案 »

  1.   

    局部临时表#table不存在并发问题,可以放心使用。它的作用域仅限当前会话。
    多用户同时调用该存储过程时互不影响,
    系统会自动给临时表加后缀以保证不会重名。全局临时表##table则存在并发问题,因此一般不推荐使用它。
      

  2.   

    同时调用的话只能用#temp
      

  3.   

    #temp 自定义局部临时表 ##temp自定义全局临时表
      

  4.   

    普通的临时表#
    只对你当前SESSION有效并发不会相互影响的
      

  5.   

    如果访问量多,或许是有问题的,因为从网站的角度来说,访问数据库的是同一个用户,还不如用表变量.
    #temp 是局部临时表,##temp是全局临时表.局部临时表在生存期只能由一个用户访问,全局临时表在生存周期里可能有多个用户访问.
      

  6.   

    #temp这种是局部变量,用户之间不受影响的,最好用完就删除临时表
    ##temp这种是全局的,每个用户都可见
      

  7.   


    +1##table  类似你数据库里本身建立的表。