मैं कोई विशेषज्ञ नहीं हूं, लेकिन मुझे विश्वास है
$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 का उपयोग करने पर विचार करें।