Когда я должен закрыть курсор, создать новый или повторно использовать старый? - PullRequest
0 голосов
/ 23 сентября 2019

Между выполнением запросов я могу закрывать курсоры, открывать новые, повторно использовать старые.

Когда что делать?

Есть ли разница между следующими подходами?

  1. Открыть новый курсор для каждого запроса (выбрать / вставить / обновить / удалить).
  2. Всегда повторно использовать курсор.

Как я понимаю, я должен открыть несколько курсоров, если у меня есть код, подобный этому:

cursor1 = conn.cursor()
for row in cursor.execute("SELECT NAME FROM TABLE1"):
   cursor2 = conn.cursor()
   cursor2.execute("SELECT * FROM TABLE2 WHERE name = %(name)", {"name": row[0]})
   #some processing...

Или еслиМне нужна другая конфигурация для курсоров (например, для именования курсоров или курсора).

Зачем мне повторно использовать курсор?

...