Python в Windows: большое количество вставок с использованием pyodbc вызывает утечку памяти
Я пытаюсь заполнить базу данных MS SQL 2005 с помощью Python на Windows. Я вставляю миллионы строк, а на 7 миллионов я использую почти гигабайт памяти. Тест ниже съедает 4 мегабайта ОЗУ на каждые вставленные 100к строк:
import pyodbc
connection=pyodbc.connect('DRIVER={SQL Server};SERVER=x;DATABASE=x;UID=x;PWD=x')
cursor=connection.cursor()
connection.autocommit=True
while 1:
cursor.execute("insert into x (a,b,c,d, e,f) VALUES (?,?,?,?,?,?)",1,2,3,4,5,6)
mdbconn.close()
Взломать решение: я закончил порождать новый процесс, используя многопроцессорный модуль для возврата памяти. Все еще не понимаете, почему вставка строк таким способом потребляет так много памяти. Есть идеи?