execute
शायद executeInsert
. से तेज नहीं है , धीमा भी हो सकता है (ICS execute
. पर कॉल executeUpdateDelete
और वापसी मूल्य को त्याग देता है)। आपको इसका परीक्षण करने की आवश्यकता है लेकिन मुझे संदेह है कि आपको यहां वास्तविक अंतर मिलेगा।
AFAIK, केवल execute
. का उपयोग करना सुरक्षित है अगर आपको वापसी मूल्यों की आवश्यकता नहीं है, लेकिन मैं भविष्य के एंड्रॉइड संस्करणों में उस होल्डिंग पर भरोसा नहीं करूंगा। दस्तावेज़ीकरण नहीं कहता है, इसलिए हो सकता है कि कोई व्यक्ति इसे प्रतिबिंबित करने के लिए व्यवहार को बदलने जा रहा हो। पुराने कार्यान्वयन execute
. का उपयोग करते प्रतीत होते हैं भी (उदा. 2.1 delete()
सोर्स कोड)। उदाहरण के लिए जेली बीन SQLite के दृश्यों के पीछे बहुत कुछ बदल गया है, लेकिन execute
का उपयोग करते समय इसे अभी भी काम करना चाहिए
इसके अलावा, यदि आप एक ही SQLiteStatement
का उपयोग नहीं करते हैं बार-बार तर्कों को दोबारा जोड़ते समय शायद इसका उपयोग करने लायक नहीं है। हर बार जब आप नियमित insert
. को कॉल करते हैं तो एक नया निर्माण करते हैं , update
, ... वास्तविक डेटाबेस पहुंच और आवश्यक डिस्क I/O की तुलना में विधियां तेज़ हैं। दूसरी ओर लेन-देन बहुत मदद करते हैं, क्योंकि प्रत्येक स्टेटमेंट के लिए डिस्क पर डेटाबेस स्थिति को सिंक्रोनाइज़ करना वास्तव में धीमा है।