大家帮忙看个sql语句效能问题: 用in和 for循环哪个效能好

1.delete table where name in ('a','b','c','d','x','y','z'....)
2.for()
{
delete table where name = 'a'
delete table where name = 'b'
.....

}
这两种做法哪种效能高? 有没有高手解答一下或讲一下原理?

肯定是第一种快啊。
第一种一个语句,和第二种for里面单个语句的执行效率差异不大的。

in 语句,就是相当于 多个 or,执行就是一次数据遍历,而for里面,几个语句是几次遍历。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-19
当然用for 循环好,比较快,for循环是从你查出来的东西进行循环,只是循环这几项,而用in的话是从所有的里面查出来,效率低
第2个回答  2012-07-12
第二种吧