Если у вас есть массив идентификаторов записей в коде приложения, каков наилучший способ считывания записей из базы данных?
$idNumsIWant = {2,4,5,7,9,23,56};
Очевидно, что цикл по каждому идентификатору плох, потому что вы делаете n запросов:
foreach ($idNumsIWant as $memID) {
$DBinfo = mysql_fetch_assoc(mysql_query("SELECT * FROM members WHERE mem_id = '$memID'"));
echo "{$DBinfo['fname']}\n";
}
Так, может, лучше использовать один запрос?
$sqlResult = mysql_query("SELECT * FROM members WHERE mem_id IN (".join(",",$idNumsIWant).")");
while ($DBinfo = mysql_fetch_assoc($sqlResult))
echo "{$DBinfo['fname']}\n";
Но масштабируется ли этот метод, когда массив содержит 30 000 элементов?
Как эффективно решить эту проблему?