Saya bukan ahli, tapi saya percaya
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");
lebih cepat. Pasalnya, hanya membuat satu query. Lebih sedikit data yang dikirim ke server dan semuanya diproses dalam sekali jalan, dalam satu perintah.
Secara umum, dengan metode lain, jika Anda mengatakan 300 nilai, itu berarti Anda membuat 300 panggilan fungsi tambahan, 300 komunikasi ke server, dll. meskipun dalam praktiknya mungkin berbeda.
edit:Selanjutnya, Anda harus selalu menggunakan escaping MySQL yang tepat, bahkan jika Anda yakin datanya tidak berbahaya. Lihat http://php.net/manual/en/ function.mysql-real-escape-string.php dan pertimbangkan untuk menggunakan mysqli atau PDO.