आपका सबसे अच्छा प्रदर्शन तब होगा जब आप अपने "परीक्षणों" को SQL तर्क में ही एन्कोड कर सकते हैं, ताकि आप सब कुछ कुछ हद तक अद्यतन विवरण में उबाल सकें। या कम से कम इस तरह से अधिक से अधिक काम करवाएं, ताकि कम पंक्तियों को अलग-अलग अपडेट करने की आवश्यकता हो।
उदाहरण के लिए:
UPDATE tablename set firstname = [some logic]
WHERE [logic that identifies which rows need the firstname updated];
आप अपने परीक्षणों के बारे में अधिक वर्णन नहीं करते हैं, इसलिए यह सुनिश्चित करना कठिन है। लेकिन आप आमतौर पर थोड़े से काम के साथ अपने WHERE क्लॉज में काफी तर्क प्राप्त कर सकते हैं।
एक अन्य विकल्प यह होगा कि आप अपने तर्क को संग्रहीत कार्यविधि में रखें। आप अभी भी 350,000 अपडेट कर रहे होंगे, लेकिन कम से कम वे सभी "तार पर नहीं जा रहे हैं"। हालांकि, मैं इसे केवल अंतिम उपाय के रूप में उपयोग करूंगा; जब भी संभव हो, व्यावसायिक तर्क को एप्लिकेशन लेयर में रखा जाना चाहिए, और संग्रहीत कार्यविधियाँ आपके एप्लिकेशन को कम पोर्टेबल बनाती हैं।