好像再SQL SERVER2000下是不会的,无论CURSOR OR TEMPTABLE 再SP完成后系统都会自动释放,如果有一定是BUG,可以将SOURCE CODE贴出来,让大家分析么??

解决方案 »

  1.   

    declare @i integer 
    set @i=0
    while @i<1000
      begin 
       delete  from [tablename1
       select * from [tablename2]
       set @i=@i+1
      end 
    请试一下上述代码,并注意内存变化状况,tablename1,tablename2自定
      

  2.   

    你的CODE无实际的意义,SELECT * FROM TABLENAME2 1000次,如果表非常大,当然会非常消耗资源,即使再oracle的系统下也一样,你这样的CODE只是一种测试。而且这样的资源消耗和循环次数无关系,会和表的大小和索引有密切的关系。
      

  3.   

    你的CODE无实际的意义,SELECT * FROM TABLENAME2 1000次,如果表非常大,当然会非常消耗资源,即使再oracle的系统下也一样,你这样的CODE只是一种测试。而且这样的资源消耗和循环次数无关系,会和表的大小和索引有密切的关系。
      

  4.   

    还有一个问题:如果要得到SELECT * FROM TABLE 的集合,一次就可以了,why?要1000!!!
      

  5.   

    如果非要那么做
    请尽量select 字段1,字段2,字段3,
    使用索引
    这样可以减轻一点压力