cx_Oracle (या सामान्य रूप से ओरेकल) में, प्रत्येक क्वेरी के लिए कर्सर आवंटित करना, या कई प्रश्नों में कर्सर का पुन: उपयोग करना संभव है।एक नया कर्सर बनाम कर्सर बनाम पुन: उपयोग करने के ट्रेडऑफ क्या हैं?
def getSomeData(curs): # case 1: pass in a cursor, which is generally
curs.execute('select ...') # reused across queries
return curs.fetchall()
def getSomeData(conn): # case 2: pass in a connection,allocate
curs=conn.cursor() # a cursor for this query
curs.execute('select ...')
return curs.fetchall()
बेशक, दोनों दृष्टिकोण एक ही डेटा लौटाते हैं।
दोनों दृष्टिकोणों के बीच व्यापार क्या हैं? क्या एक विशेष रूप से कम या ज्यादा कुशल है? क्या कई प्रश्नों पर कर्सर का पुन: उपयोग करने के लिए कोई संभावित नुकसान है?