Не съм експерт, но вярвам
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");
е по-бърз. Причината е, че прави само една заявка. По-малко данни се изпращат до сървъра и всички се обработват наведнъж, с една команда.
Като цяло, с другия метод, ако имате да речем 300 стойности, това означава, че правите 300 допълнителни извиквания на функции, 300 комуникации към сървъра и т.н., въпреки че на практика това може да варира.
редактиране:Освен това винаги трябва да използвате правилно екраниране на MySQL, дори ако можете да сте сигурни, че данните не са злонамерени. Вижте http://php.net/manual/en/ function.mysql-real-escape-string.php и обмислете използването на mysqli или PDO.