一般来说是后者效率高一些。原因是这样:
-
多次执行语句,与数据库进行了多次交互,网络传输以及mysql解析和执行sql语句都需要处理多次;
-
for循环内执行sql语句会占用连接池连接,数据库连接池可能被耗尽。
-
如果in的字段建了索引in也是会用到的,所以结果就如楼上所说使用for循环会多很多次query的过程,很多时间消耗在网络请求上面。
一般做过代码分析的都知道,php其实并不会消耗太多时间,反而是网络请求消耗的时间较多。
一般来说是后者效率高一些。原因是这样:
多次执行语句,与数据库进行了多次交互,网络传输以及mysql解析和执行sql语句都需要处理多次;
for循环内执行sql语句会占用连接池连接,数据库连接池可能被耗尽。
如果in的字段建了索引in也是会用到的,所以结果就如楼上所说使用for循环会多很多次query的过程,很多时间消耗在网络请求上面。
一般做过代码分析的都知道,php其实并不会消耗太多时间,反而是网络请求消耗的时间较多。