首页 > 开发 > 综合 > 正文

有关SQLServer内存问题

2024-07-21 02:06:51
字体:
来源:转载
供稿:网友

http://www.richsearch.com/search/search.aspx?page=1&s1=%2b%e5%86%85%e5%ad%98%20%2b"sql%20server"

给sqlserver分配多些内存(默认是动态分配,可以把最小值改变为一个比较大的数据)。
查看把数据库的日志文件和数据文件大小,并适当调节。
-----------------
插入记录慢,可能是因为表使用了clustered 索引,而新的记录导致了大量数据的存储位置发生变化。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2037790


来自:shaoyy, 时间:2004-5-31 9:25:00, id:2636792 [显示:小字体 | 大字体] 
我公司的一个pos系统,后台是sql server,前台是ado,现在是ado+midas,2年来经常会出现这个问题:当系统很忙的时候(商场生意好的时候),sql server 就会变的没有响应,然后所有前台全部死机,一个月概会出现一两次,找了很久了,都还不知道是sql server还是程序存在问题?如果哪位有过这方面的经验,还望不吝赐教,给些提示,感谢!  
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2636792


数据库在很大程度上具备自主调节能力。随着内存的不断增大,sql server将扩大内存使用空间,当来自其他应用的内存压力增大时,sql server将随之释放部分内存空间。与此相似,sql server还将根据实际需要动态扩充或收缩数据库及日志空间。
http://www.microsoft.com/china/technet/prodtechnol/sql/2000/plan/ssmsam.mspx


by the way 我是做证券软件的,数据量一般大于1亿条,sql server经常吃到2-4g内存
但系统运行良好 

其实事情不是这么简单。
mssql在内存的释放上是有问题的。
如果真的是海量数据(所谓海量,绝非只一两百个g的概念),你会发现,在
一个短时间内,如果联系作大量的查询等操作,它
占用的内存会不断上升,接着数据库的速度会明显下降,
往往在这个时候,如果重新启动系统,就可以解决问题。
和微软联系过,目前无好的解决方案。
后来我们自己做了好几个组件来提高它的效率,效果虽然不是很好但也可以接受。
象数据库这东西,特别是mssql,在数据量大的情况,确实不大好用。
但是因为它和微软自己的操作系统的连接比较好做,嗯,
所以还是只好用他的。 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1775126


改用oracle了。 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=287033


服务器内存是1g,两天之后通过任务管理器观察,使用内存已占用900m多,
其中线程sqlservr占用最多,而客户连接数才几个。 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2144996


下面的文章或许对你有帮助:
http://www.ck23.com/net/html/2003-7-27/2003727151935.htm
千万不要在delphi中使用服务器端游标,否则很快就会消耗完你服务器上的内存。 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2144996


   前面说了,这正是sql server的优点,因为它提供了缓冲内存,即使用户暂时下线,
它也不会释放全部缓存。
   当然,它也不会占用内存一直不释放,一旦它检测到操作系统分配内存不够时,它会
及时释放内存,不信你可以如此检测,用户下线后,在服务器端运行photoshop这样占用
系统内存比较大的软件测试一下,保证此时sql server会释放部分内存。 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2353948


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表