Trong cx_Oracle (hoặc Oracle nói chung), có thể phân bổ con trỏ cho mỗi truy vấn hoặc sử dụng lại con trỏ trên một số truy vấn.Sự cân bằng giữa việc sử dụng lại con trỏ và tạo con trỏ mới là gì?
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()
Tất nhiên, cả hai phương thức đều trả về cùng một dữ liệu.
Sự cân bằng giữa hai cách tiếp cận là gì? Là một trong những đặc biệt nhiều hơn hoặc ít hiệu quả? Có bất kỳ cạm bẫy tiềm năng nào để sử dụng lại con trỏ trên nhiều truy vấn không?