- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
經(jīng)??匆?jiàn)有人問(wèn),MSSQL占用了太多的內存,而且還不斷的增長(cháng);或者說(shuō)已經(jīng)設置了使用內存,可是它沒(méi)有用到那么多,這是怎么一回事兒呢? 其次就是查詢(xún)的開(kāi)銷(xiāo),一般地說(shuō),hash join是會(huì )帶來(lái)比較大的內存開(kāi)銷(xiāo)的,而merge join和nested loop的開(kāi)銷(xiāo)比較小,還有排序和中間表、游標也是會(huì )有比較大的開(kāi)銷(xiāo)的。所以用于關(guān)聯(lián)和排序的列上一般需要有索引。 再其次就是對執行計劃、系統數據的存儲,這些都是比較小的.我們先來(lái)看數據緩存對性能的影響,如果系統中沒(méi)有其它應用程序來(lái)爭奪內存,數據緩存一般是越多越好,甚至有些時(shí)候我們會(huì )強行把一些數據pin在高速緩存中。但是如果有其它應用程序,雖然在需要的時(shí)候MSSQL會(huì )釋放內存,但是線(xiàn)程切換、IO等待這些工作也是需要時(shí)間的,所以就會(huì )造成性能的降低。這樣我們就必須設置MSSQL的最大內存使用??梢栽赟QL Server 屬性(內存選項卡)中找到配置最大使用內存的地方,或者也可以使用sp_configure來(lái)完成。如果沒(méi)有其它應用程序,那么就不要限制MSSQL對內存的使用。 然后來(lái)看查詢(xún)的開(kāi)銷(xiāo),這個(gè)開(kāi)銷(xiāo)顯然是越低越好,因為我們不能從中得到好處,相反,使用了越多的內存多半意味著(zhù)查詢(xún)速度的降低。所以我們一般要避免中間表和游標的使用,在經(jīng)常作關(guān)聯(lián)和排序的列上建立索引。 |
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP