mysql更新时用for循环单条更新和一个sql用in传入大量条件那个好

我想更新一批量的数据,比如根据订单号更新订单,加入条数有三四千条记录。
这个时候用for循环根据单号一条条update好?还是用in传入参数批量更新一条好?
为什么?怎么判断什么时候选哪种方式???

可以并用,in后的参数进行分片,然后使用多线程去更新

PreparedStatement批量处理

都不好。还是推荐批量更新。