Это довольно простой вопрос, и я предполагаю, что ответ "Это не имеет значения", но я все равно должен спросить...
У меня есть общий оператор sql, встроенный в PHP:
$sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';
Предполагая предыдущие проверки достоверности ($object_ids
- это массив с не менее чем одним элементом и всеми численными значениями), следует ли вместо этого сделать следующее:
if(count($object_ids) == 1) {
$sql = 'SELECT * FROM `users` WHERE `id` = ' . array_shift($object_ids);
} else {
$sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';
}
Или это накладные расходы на проверку count($object_ids)
не стоит того, что было бы сохранено в фактическом sql-заявлении (если оно вообще есть)?