这些等价物中的哪一个更可取:
$medium_csv = implode(",",$medium_array);
mysql_query('SELECT col1, col2 FROM table1 WHERE user_id IN ($medium_csv)');
或者这个:
foreach ($medium_array as $array_item) {
mysql_query('SELECT col1, col2 FROM table1 WHERE user_id = $array_item');
}
* 如果重要,则数组介于10到500个项目
答案 0 :(得分:3)
当您可以选择通过一个呼叫结算时,不需要对MySQL进行10到500次调用。就这么简单。
答案 1 :(得分:1)
最好SELECT IN
,特别是如果user_id被编入索引。当一个简单的SQL语句可以解决问题时,没有理由在php和mysql之间来回运行多达500次。
答案 2 :(得分:0)
通常你应该坚持少选择(除非你需要选择一些讨厌的连接)。如果您有两种选择,您应该始终对其进行基准测试。如果数组太长可能最好把它分成几块,但绝对不要一个接一个地循环选择它。