如果在程序中重复调用一句SQL,Sqlserver 服务器会对其结果缓存,
今天在做项目时遇到了SQLSERVER进程占用内存的问题。
在无意的中发现,如果不停的提交相同SQL语句,SQLSERVER内存占用不会增加
Select a,b,c,d from t
这条语句执行了1000+遍,内存无变化。
但如果使用
Select a,b,c,d from t
where a = 1
Select a,b,c,d from t
where a = 2
.
.
Select a,b,c,d from t
where a = n
SQLSERVER的内存占用就会迅速增大。
附带:
SQLSERVER的内存释放问题,当SQLSERVER超过最大工作内存(woking size)时,
它会选择命中率最低的内存块释放掉。