-----------------
插入記錄慢,可能是因為表使用了CLUSTERED索引,而新的記錄導致了大量數據的存儲位置發生變化。
http://www.delphibbs.com/Delphibbs/dispq.ASP?lid=2037790
我公司的一個POS系統,後台是sqlserver,前台是ADO,現在是ADO+midas,2年來經常會出現這個問題:當系統很忙的時候(商場生意好的時候),sqlserver就會變的沒有響應,然後所有前台全部死機,一個月概會出現一兩次,找了很久了,都還不知道是sqlserver還是程序存在問題?如果哪位有過這方面的經驗,還望不吝賜教,給些提示,感謝!
http://www.delphibbs.com/Delphibbs/dispq.ASP?lid=2636792
數據庫在很大程度上具備自主調節能力。隨著內存的不斷增大,SQLServer將擴大內存使用空間,當來自其他應用的內存壓力增大時,SQLServer將隨之釋放部分內存空間。與此相似,SQLServer還將根據實際需要動態擴充或收縮數據庫及日志空間。
http://www.microsoft.com/china/technet/prodtechnol/sql/2000/plan/ssmsam.mspx
bytheway我是做證券軟件的,數據量一般大於1億條,SQLSERVER經常吃到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
前面說了,這正是sqlserver的優點,因為它提供了緩沖內存,即使用戶暫時下線,它也不會釋放全部緩存。
當然,它也不會占用內存一直不釋放,一旦它檢測到操作系統分配內存不夠時,它會及時釋放內存,不信你可以如此檢測,用戶下線後,在服務器端運行Photoshop這樣占用系統內存比較大的軟件測試一下,保證此時sqlserver會釋放部分內存。
-