SQL删除多条数据两种方法性能比较
今天看到一段代码,是用代码生成器生成的,代码如下: 
                         public   void   Delete(List <int>    l) 
                         { 
                                     foreach   (int   ISBN   in   l) 
                                                 dal.Delete(ISBN);   //逐个删除数据 
                         }   
 这样删除数据会不会造成性能的损失? 
 因为这样每删除一条数据都要经过编译器编译,增加额外的系统开销。   
 相比较而言: 
  "delete   from   table   where   id   in( "+id[n]+ ") ";这种方法效率应该比前一种有大幅度的提升。   
 本人入行不久,对代码生成器中的这段代码有所疑虑,感觉大批量的数据的话用代码生成器中的方法是不可行的,本人个人看法,不知道是否正确?
------解决方案--------------------没错   
 一条一条删除,那么每删除一条都要一次数据连接,这个当然不可取。   
 现在有很多代码生成器的东西,因为面向对象嘛,但是有些应该适可而止,就比如这个,非常的不建议
------解决方案--------------------ID分类,取某值col最小,其他删除(意即按ID删除多余数据)   
 delete from tb where id not in (select min(col) from tb group by id)