一條select語句引起的瓶頸問題思考
更新時間:2013年02月27日 23:01:12 作者:
公司一項目新上線,剛上線的第2天,在后臺發(fā)現(xiàn)數(shù)據(jù)庫服務(wù)器與IIS服務(wù)器的網(wǎng)絡(luò)IO出現(xiàn)瓶頸,1GB的網(wǎng)絡(luò)帶寬,占用了70%-100%,也就是每秒傳輸數(shù)據(jù)700MB-1GB,數(shù)據(jù)庫使用內(nèi)存高達(dá)21GB
情境還原:
公司一項目新上線,剛上線的第2天,在后臺發(fā)現(xiàn)數(shù)據(jù)庫服務(wù)器與IIS服務(wù)器的網(wǎng)絡(luò)IO出現(xiàn)瓶頸,1GB的網(wǎng)絡(luò)帶寬,占用了70%-100%,也就是每秒傳輸數(shù)據(jù)700MB-1GB,數(shù)據(jù)庫使用內(nèi)存高達(dá)21GB。
IIS服務(wù)器CPU使用率時常爆至80%-90%,導(dǎo)致網(wǎng)站頻頻出現(xiàn)連接超時。
原因:晚上只好暫時關(guān)閉網(wǎng)站,進(jìn)行服務(wù)器維護(hù),作全面的檢查跟蹤,發(fā)現(xiàn)是一句Select語句導(dǎo)致:
Select * From Table1
這條語句,語法是沒問題的,但在應(yīng)用上出了問題。Table1存儲的是10多萬行數(shù)據(jù),表數(shù)據(jù)每天都會上萬的增長。
為了統(tǒng)計總行數(shù),頻頻調(diào)用這語句,每秒刷新不低于1000次。
也因此導(dǎo)致網(wǎng)絡(luò)出現(xiàn)瓶頸。
解決:后面把Select語句改成
Select Count(*) from Table1
即可解決問題,網(wǎng)絡(luò) IO數(shù)據(jù)馬上降至10MB以下,數(shù)據(jù)庫使用內(nèi)存也保持在預(yù)計范圍12GB。
看似非常簡單的問題,其實不然。解決這問題,所花的時間周期是6小時,檢查問題使用1小時,修改代碼使用5小時。
公司一項目新上線,剛上線的第2天,在后臺發(fā)現(xiàn)數(shù)據(jù)庫服務(wù)器與IIS服務(wù)器的網(wǎng)絡(luò)IO出現(xiàn)瓶頸,1GB的網(wǎng)絡(luò)帶寬,占用了70%-100%,也就是每秒傳輸數(shù)據(jù)700MB-1GB,數(shù)據(jù)庫使用內(nèi)存高達(dá)21GB。
IIS服務(wù)器CPU使用率時常爆至80%-90%,導(dǎo)致網(wǎng)站頻頻出現(xiàn)連接超時。
原因:晚上只好暫時關(guān)閉網(wǎng)站,進(jìn)行服務(wù)器維護(hù),作全面的檢查跟蹤,發(fā)現(xiàn)是一句Select語句導(dǎo)致:
Select * From Table1
這條語句,語法是沒問題的,但在應(yīng)用上出了問題。Table1存儲的是10多萬行數(shù)據(jù),表數(shù)據(jù)每天都會上萬的增長。
為了統(tǒng)計總行數(shù),頻頻調(diào)用這語句,每秒刷新不低于1000次。
也因此導(dǎo)致網(wǎng)絡(luò)出現(xiàn)瓶頸。
解決:后面把Select語句改成
復(fù)制代碼 代碼如下:
Select Count(*) from Table1
即可解決問題,網(wǎng)絡(luò) IO數(shù)據(jù)馬上降至10MB以下,數(shù)據(jù)庫使用內(nèi)存也保持在預(yù)計范圍12GB。
看似非常簡單的問題,其實不然。解決這問題,所花的時間周期是6小時,檢查問題使用1小時,修改代碼使用5小時。
相關(guān)文章
MSSQL 2000 使用幫助(sql server簡明教程)
這篇文章主要介紹了MSSQL 2000 使用幫助(sql server簡明教程),需要的朋友可以參考下2017-04-04SQLserver2019?Express安裝及其一些問題解決
本文主要介紹了SQL?server?2019?Express?安裝及其一些問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04sql server刪除前1000行數(shù)據(jù)的方法實例
最近處理數(shù)據(jù)的時候遇到了個問題,需要利用sql刪除表格的前1000行數(shù)據(jù),嘗試過后這里給大家分享下過程,所以下面這篇文章主要給大家介紹了關(guān)于sql server刪除前1000行數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2021-08-08數(shù)據(jù)庫日常練習(xí)題,每天進(jìn)步一點點(1)
下面小編就為大家?guī)硪黄獢?shù)據(jù)庫基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07sql中的 where 、group by 和 having 用法解析
這篇文章主要介紹了sql中的 where 、group by 和 having 用法解析,需要的朋友可以參考下2017-04-04