アプリケーションコードにレコードIDの配列がある場合、データベースからレコードを読み取る最も良い方法は何ですか?あなたはn個クエリを行うためデータベースからレコードIDの配列を取得した複数のレコードを効率的に読み取る
$idNumsIWant = {2,4,5,7,9,23,56};
明らかに各IDをループは悪いです:
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であるときにスケールされますか?
どのようにこの問題に効率的に取り組んでいますか?