Я пытаюсь заполнить базу данных 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()
Решение проблемы с хаком: в итоге я создал новый процесс с использованием многопроцессорного модуля для возврата памяти.Все еще не понимаете, почему вставка строк таким способом потребляет так много памяти.Есть идеи?