为了实现多条删除操作,是在代码中循环调用 还是在MyBatis中的<delete> 的in里面foreach?

如题所述

循环删除会循环访问数据库的,对数据库压力比较大,如果数据很多也很慢的,所以建议批量删除。获取所有要删除的id,然后批量执行。追问

用MyBatis的话 只能在in里面进行循环
删除的话,不必考虑循环次数的性能了吧

追答

删除一般都是少量数据,应该没问题,删除也是从数据库查不来然后再删除的,所以和性能有关系。每次执行删除操作就会访问数据库的,
望采纳

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-28
主要是看sql的复杂程度,如果sql效率高的话怎么都行,eg:
deleted * from .... a where a.* in (‘obj’)
obj为传过来的参数可以为要删除的标识组成的字符串追问

我试过这个方法没解决问题
标签里面的sql语句 in (?)里面放的我传入的String 不好使
String 为多个字段主键的组合

追答

string的格式为'.....','....','.....' 类似于这种格式的 然后把sql打印出来看正确与否

本回答被提问者采纳
第2个回答  2012-12-21
最好在条件中。

条件中做不到,再用循环追问

能不能讲解一下?
苦恼选用哪种方法

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网