Windows で Python を使用して MS SQL 2005 データベースにデータを入力しようとしています。何百万もの行を挿入していますが、700 万行までにほぼ 1 ギガバイトのメモリを使用しています。以下のテストでは、挿入された 100k 行ごとに 4 MB の RAM を消費します。
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()
ハックソリューション: multiprocessing モジュールを使用して新しいプロセスを生成し、メモリを返しました。この方法で行を挿入すると大量のメモリが消費される理由について、まだ混乱しています。何か案は?