一條select語句惹起的瓶頸成績思慮。本站提示廣大學習愛好者:(一條select語句惹起的瓶頸成績思慮)文章只能為提供參考,不一定能成為您想要的結果。以下是一條select語句惹起的瓶頸成績思慮正文
情境復原:
公司一項目新上線,剛上線的第2天,在後台發明數據庫辦事器與IIS辦事器的收集IO湧現瓶頸,1GB的收集帶寬,占用了70%-100%,也就是每秒傳輸數據700MB-1GB,數據庫應用內存高達21GB。
IIS辦事器CPU應用率經常爆至80%-90%,招致網站一再湧現銜接超時。
緣由:早晨只好臨時封閉網站,停止辦事器保護,作周全的檢討跟蹤,發明是一句Select語句招致:
Select * From Table1
這條語句,語法是沒成績的,但在運用上出了成績。Table1存儲的是10多萬行數據,表數據天天都邑上萬的增加。
為了統計總行數,一再挪用這語句,每秒刷新不低於1000次。
也是以招致收集湧現瓶頸。
處理:前面把Select語句改成
Select Count(*) from Table1
便可處理成績,收集 IO數據立時降至10MB以下,數據庫應用內存也堅持在估計規模12GB。
看似異常簡略的成績,其實否則。處理這成績,所花的時光周期是6小時,檢討成績應用1小時,修正代碼應用5小時。