为了账号安全,请及时绑定邮箱和手机立即绑定

如何解决在sql中获取行时内存消耗增加?

如何解决在sql中获取行时内存消耗增加?

Cats萌萌 2023-03-01 16:37:14
我使用 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;


查看完整回答
反对 回复 2023-03-01
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号