公司总机:0769-86215755
虚拟主机,主页空间,国际域名,asp空间,论坛空间,论坛主机,asp.net空间,主机租用,空间,网站空间,服务器租用,主机租用,服务器托管,主机托管,网页空间,网络空间 虚拟主机,主页空间,国际域名,asp空间,论坛空间,论坛主机,asp.net空间,主机租用,空间,网站空间,服务器租用,主机租用,服务器托管,主机托管,网页空间,网络空间 虚拟主机,主页空间,国际域名,asp空间,论坛空间,论坛主机,asp.net空间,主机租用,空间,网站空间,服务器租用,主机租用,服务器托管,主机托管,网页空间,网络空间
 首   页   域名注册   虚拟主机   主机托管    网页设计    企业邮局   双线主机    代理申请   帮助中心    购物车
虚拟主机,主页空间,国际域名,asp空间,论坛空间,论坛主机,asp.net空间,主机租用,空间,网站空间,服务器租用,主机租用,服务器托管,主机托管,网页空间,网络空间
  中国民网 -=> 数据库 -=> 正文 欢迎光临中国民网。
 
 

关于MSSQL占用过多内存的问题

经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢?
    首先,我们来看看MSSQL是怎样使用内存的。最大的开销一般是用于数据缓存,如果内存足够,它会把用过的数据和觉得你会用到的数据统统扔到内存中,直到内存不足的时候,才把命中率低的数据给清掉。所以一般我们在看statistics io的时候,看到的physics read都是0。

    其次就是查询的开销,一般地说,hash join是会带来比较大的内存开销的,而merge join和nested loop的开销比较小,还有排序和中间表、游标也是会有比较大的开销的。所以用于关联和排序的列上一般需要有索引。

    再其次就是对执行计划、系统数据的存储,这些都是比较小的.我们先来看数据缓存对性能的影响,如果系统中没有其它应用程序来争夺内存,数据缓存一般是越多越好,甚至有些时候我们会强行把一些数据pin在高速缓存中。但是如果有其它应用程序,虽然在需要的时候MSSQL会释放内存,但是线程切换、IO等待这些工作也是需要时间的,所以就会造成性能的降低。这样我们就必须设置MSSQL的最大内存使用。可以在SQL Server 属性(内存选项卡)中找到配置最大使用内存的地方,或者也可以使用sp_configure来完成。如果没有其它应用程序,那么就不要限制MSSQL对内存的使用。

    然后来看查询的开销,这个开销显然是越低越好,因为我们不能从中得到好处,相反,使用了越多的内存多半意味着查询速度的降低。所以我们一般要避免中间表和游标的使用,在经常作关联和排序的列上建立索引。

---------------------------------------------------------------
上一篇:关于不能安装SQL2000的问题

下一篇:Sqlserver规范

欢迎转载<<关于MSSQL占用过多内存的问题>>,转载时请注明来自己虚拟主机中国民网

 

 
ASP空间 | 关于我们 | 新闻中心 | 合作伙伴 | 联系方式 | 网站地图 | 付款信息 | 机房环境 | 虚拟主机

合作伙伴
 

中国广东:东莞市南城区国际商会大厦3A09 销售专线:0769 - 86215755 85795999 22772907 本站3721网络实名:网页空间
主机托管咨询电话:0769-85795999 夜间值班电话:13712017908 传真:0769-86215756

版权所有:中国民网 严禁复制 工商注册号:4419002009137 粤ICP备05127709号