私は専門家ではありませんが、信じています
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");
より高速です。その理由は、1つのクエリしか作成しないためです。サーバーに送信されるデータが少なくなり、すべてが1回のコマンドで一度に処理されます。
一般に、他の方法では、300の値がある場合、実際には異なる場合がありますが、300の追加の関数呼び出し、サーバーへの300の通信などを行うことを意味します。
編集:さらに、データが悪意のあるものではないと確信できる場合でも、常に適切なMySQLエスケープを使用する必要があります。 http://php.net/manual/en/を参照してくださいfunction.mysql-real-escape-string.php mysqliまたはPDOの使用を検討してください。