有关SQLServer内存问题(收藏)-数据库专栏,SQL Server

有关sqlServer内存问题(收藏)-数据库专栏,sql Server
最近在做一个流量统计功能,数据量在千成级,每次统计时,sql内存占用都会比较大,统计的存储过程执行过后,发现sql的内存使用也不会释放,见有些达人说,这是sql一个机制,用于提升下次访问的效率,也许吧,在查找 解决方案的过程中,发现了下面这个帖子,挺全,备案

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


文章整理: 星烛网 网址:http://www.xingzhu.net.cn/ 以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...