LINUX.ORG.RU

python3 sqlite3 cursor()


0

1

когда-то давно, в целях оптимизации, сделал постоянное пересоздание курсора:

cursor = self.conn.cursor() cursor.execute(sql) cursor.close()

вроде тесты показывали что так работает быстрее =\ сейчас к своему стыду не могу вспомнить - быстрее ли и почему в гугле инфу, оправдывающую или опровергающую найти не могу

подскажите, как лучше делать и почему? - создать курсор при инициализации класса-обертки и юзать все время - создавать непосредственно при запросе

Не имеет это смысла особого. Да и вообще, курсор есть смысл создавать вручную только если вы пользуетесь fetchone, ведь у самого соединения есть execute/executemany (которые создают курсор за вас).

shylent
()
Ответ на: комментарий от shylent

не знал, спасибо
а почему курсор следует создавать для fetchone?

я везде использую fetchall, но
conn.execute('select * from data').fetchone()
тоже работает

sergey-novikov ★★★
() автор топика
Ответ на: комментарий от sergey-novikov

Это я напутал. Не знаю, о чем думал, когда писал.

shylent
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.