insert ignore
कई कारणों से बेहतर तरीका है।
प्रदर्शन के संदर्भ में, दो के बजाय केवल एक क्वेरी को संकलित और निष्पादित किया जा रहा है। यह डेटाबेस के अंदर और बाहर सामान ले जाने के ऊपरी हिस्से को बचाता है।
रखरखाव के संदर्भ में, केवल एक प्रश्न रखना अधिक रखरखाव योग्य है, क्योंकि तर्क सभी एक ही स्थान पर है। अगर आपने where
जोड़ा है खंड, उदाहरण के लिए, आप इसे दो अलग-अलग प्रश्नों में जोड़ने से चूक जाएंगे।
सटीकता के संदर्भ में, केवल एक प्रश्न में दौड़ की स्थिति के लिए कोई (या कम से कम बहुत कम) अवसर नहीं होने चाहिए। यदि select
. के बीच एक पंक्ति डाली जाती है और insert
, तब भी आपको एक त्रुटि मिलेगी।
हालांकि, insert ignore
. से बेहतर है insert . . . on duplicate key update
. उत्तरार्द्ध केवल दोहराव की समस्याओं के लिए त्रुटि से बचा जाता है। insert ignore
हो सकता है कि आप उन त्रुटियों को अनदेखा कर रहे हों जिनकी आप वास्तव में परवाह करते हैं।
वैसे, आपको वैसे भी स्टेटमेंट से त्रुटियों की जाँच करनी चाहिए।