InnoDB में, update
स्टेटमेंट उनके द्वारा स्कैन की जाने वाली प्रत्येक पंक्ति को लॉक कर देते हैं। इसका मतलब यह है कि आपकी 200 पंक्तियों को अपडेट करने के लिए, इसे 350 000 पंक्ति-स्तर के ताले बनाने होंगे, जबकि एक ही समय में रोलबैक लॉक रखना होगा और किसी भी लेन-देन को पिछला मूल्य प्रदान करना होगा जो पहले से बदले हुए मूल्य को पढ़ रहे हैं (चूंकि लेनदेन नहीं है प्रतिबद्ध है और परिवर्तन अंतिम नहीं है)
दूसरी ओर MyISAM पूरी टेबल को लॉक कर देता है।
इसलिए यदि आपको सभी पंक्तियों को अपडेट करने की आवश्यकता है, तो संपूर्ण तालिका को लॉक करें, और आपको बेहतर प्रदर्शन मिलेगा (आपको पंक्ति-स्तरीय लॉक की आवश्यकता नहीं होगी)
लेकिन इससे भी बेहतर, WHERE क्लॉज प्रदान करें, जैसा आपने किया था, और InnoDB केवल मिलान पंक्तियों के लिए ताले प्राप्त करेगा (साथ ही इंडेक्स ट्री में कुछ गैप-लॉक, लेकिन यह प्रश्न के दायरे से बाहर है)