一條select語句引起的瓶頸問題思考

2022-09-24 20:36:10 字數 656 閱讀 9961

情境還原:

公司一專案新上線,剛上線的第2天,在後台發現程式設計客棧資料庫伺服器與iis伺服器的網路io出現瓶頸,1gb的網路頻寬,占用了70%-100%,也就是每秒傳輸資料700mb-1gb,資料庫使用記憶體高達21gb。

iis伺服器cpu使用率時常爆至80%-90%,導致**頻頻出現連線元程式設計客棧時。

原因:晚上只好暫時關閉**,進行伺服器維護,作全面的檢查跟蹤,發現是一句select語句導致:tdrkd

select * from table1

這條語句,語法是沒問題的,但在應用上出了問題。table1儲存的是10多萬行資料,表資料每天都會上萬的增長。

為了程式設計客棧統計總行數,頻頻呼叫這語句,每秒重新整理不低於1000次。

也因此導致網路出現瓶頸。

解決:後面把select語句改成 

複製** **如下:

select count(*) from table1

即可解決問題,網路 io資料馬上降至10mb以下,資料庫使用記憶體也保持在預計範圍12gb。

看似非常簡單的問題,其實不然。解決這問題,所花的時間週期是6小時,檢查問題使用1小時,修改**使用5小時。

本文標題: 一條select語句引起的瓶頸問題思考

本文位址: /shujuku/mssql/92464.html

一條Select語句導致瓶頸

情況 上週,公司一專案新上線,剛上線的第2天,在後台發現資料庫伺服器與iis伺服器的網路io出現瓶頸,1gb的網路頻寬,占用了70 100 也就是每秒傳輸資料700mb 1gb,資料庫使用記憶體高達21gb。iis伺服器cpu使用率時常爆至80 90 導致 頻頻出現連線超時。原因select fro...

一條select語句的旅遊過程

待分析sql語句 select from t where id 10 來自於一篇好文 1 和聯結器打交道 第一步,連線到資料庫上,此時負責接待的就是聯結器。它的職責就是建立連線 獲取許可權 維持和管理連線。mysql h ip p port u user p 注意 連線建立好後,如果沒有後續動作,連...

一條SQL語句研究

現有 select from t where a in 5,3,2,1,8,9,30.假設 a 是主鍵,in裡面的引數是唯一的。現要求輸出的結果集按照 in 提供的引數順序排序。而不是按照a本身的排序規則排序?另 如果不要求使用臨時表或表變數,那麼又有什麼辦法實現。臨時表方案參卡 create ta...