日期:2014-05-19  浏览次数:20477 次

游标的速度效率就是高麽???
@a1   =   100
@a2   =   100000

我使用
          while   @a1> =@a2
                begin
                      @count   =   (select   *   from   table1   where   [id]=@a1)
                      if   @count   > 0
                            begin
                                      print   'error '  
                                      break;
                            end
                      else
                            @a1   =   @a1+1
                  end

来判断再table1中是否有已存在的id。这样写,效率很低麽?
如果用游标效率高,该怎么写?

------解决方案--------------------
if exists(select 1 from [Table] where id between 100 and 100000)
print '存在 '
else
print '不存在 '
------解决方案--------------------
select [id] from 表名 where [id] between 10 and 10000

------解决方案--------------------
if exists(select 1 from [Table] where id between 100 and 100000)
print '存在 '
else
print '不存在 '
------解决方案--------------------
游标的效率绝对不高,能不用游标的地方尽量不要用游标