我使用 pyodbc 插入或讀取 SQL Server 數據庫,當我將數據插入數據庫時,我的電腦上有 32 GB 內存。使用的朗姆酒數量如下。 但是當我從 db 中讀取行時,如圖所示,我的 ram 使用率非常高:代碼:import pyodbcconn = pyodbc.connect(''' TRUSTED_CONNECTION=Yes; DRIVER={SQL Server}; SERVER={myServer}; DATABASE=myDB;''')id=[1,345,34,78,45,768]cursor = conn.cursor()for numberid in id: sqlquery ="SELECT TOP 100 * FROM table.db WHERE COLUMN.2 = %s " %(numberid ) cursor.execute(sqlquery ) answer=cursor.fetchall() print(answer) cursor.close() conn.close()我使用 cursor.close() ,conn.close() 但是,即使關閉應用程序,使用的 RAM 量也沒有減少,而且每天使用的 RAM 量略有增加。如果我的電腦重新啟動,RAM 使用量將被清除。我該如何解決這個問題?pyodbc 版本:4.0.30
1 回答

智慧大石
TA貢獻1946條經驗 獲得超3個贊
這是 SQL Server 的正常行為。
SQL Server 將緩存它從磁盤讀取的所有行,將其內存使用量增加到配置的MAX SERVER MEMORY,或者直到操作系統發出可用內存不足的信號。
如果您有一個大型數據庫和許多其他在計算機上運行的程序并且想要限制 SQL Server 的內存,您可以使用 SSMS 來完成,或者購買運行批處理,例如:
EXEC sys.sp_configure N'show advanced options', N'1';
RECONFIGURE;
EXEC sys.sp_configure N'max server memory (MB)', N'4096';
RECONFIGURE;
添加回答
舉報
0/150
提交
取消