Выполнение хранимой процедуры в SQL Server 2017 - Python - PullRequest
0 голосов
/ 19 июня 2020

Я выполняю хранимую процедуру, которая перебирает таблицу с помощью курсора, проходит 20 000 сценариев ios, а затем вставляет строки на основе различных условий соединения для каждого сценария. Когда я запускаю его в SQL Server Management Studio, это занимает примерно 5 часов.

Однако, когда я пытаюсь запустить его с помощью сценария Python, это занимает примерно в 3 раза больше времени. Вот мой код в Python:

import pyodbc 

#Database connection
server = '<server name>'
db = '<db name>'
process_start = datetime.now()

sql = """exec dbo.sp_loop_cursor_execute_insert"""
conn.execute(sql) 
conn.commit()

#close connection     
conn.close() 

Я подозреваю, что он имеет какое-то отношение к тому, как работает фиксация, где он фиксируется только после запуска всей хранимой процедуры. Мне интересно, есть ли способ сделать это без добавления функции цикла в Python?

...