Если вы хотите оптимизировать операторы SQL, которые вы вызываете многократно, со многими значениями, вы должны взглянуть на cursor.executemany (). Он подготавливает оператор SQL, поэтому его не нужно анализировать каждый раз, когда вы вызываете его:

ользовал Python с RDBMS '(MySQL и PostgreSQL), и я заметил, что я действительно не понимаю, как использовать курсор.

Обычно один сценарий подключается к БД через клиентский DB-API (например, psycopg2 или MySQLdb):

connection = psycopg2.connect(host='otherhost', etc)

И тогда создается курсор:

cursor = connection.cursor()

И тогда можно выдавать запросы и команды:

cursor.execute("SELECT * FROM etc")

Интересно, а где же результат запроса? это на сервере? или немного на моем клиенте и немного на моем сервере? И затем, если нам нужно получить доступ к некоторым результатам, мы получаем их:

rows = cursor.fetchone() 

или же

rows = cursor.fetchmany()

Допустим, я не получаю все строки и решаю выполнить другой запрос, что будет с предыдущими результатами? Это их накладные расходы.

Кроме того, я должен создать курсор для каждой формы команды и постоянно использовать его как-то для тех же команд; У меня в голове psycopg2 можно как-то оптимизировать команды, которые выполняются много раз, но с разными значениями, как и стоит ли это?

Спасибо

Ответы на вопрос(0)

Ваш ответ на вопрос