欄位字元型別不匹配導致CPU佔用率高
WINDOWS2003+MSSQL2005
CPUs:6*4
Mem:32G
cpu平均使用達40%;
MEM使用25G;
分析硬體效能狀態、彙總資訊如下:
記憶體頁交換較少、buffer命中率高、記憶體頁生命週期較長、IO佇列為0
綜上資訊初步判斷SQL語句編寫不合理導致CPU使用高居不下.
通過SQLProfiler工具以CPU執行時間為過濾條件(>=1000MS),抓取5小時的樣本資料:
其中的一個應用執行頻率高、1次/S,該儲存內嵌4條SQL,其中2條SQL的CPU執行時間超過1500MS。
分析該典型SQL語句:
原始 PROD中傳遞欄位的資料型別設定為N'vchar,TABLE中對應的欄位資料型別為VCHAR,因為欄位的資料型別不匹配導致index所走的路線為index seek 1% + index scan 99%
更改儲存欄位資料型別後index cost為index seek 50% + index seek 50%
效能得到明顯提升,CPU平均使用降到10%。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24867586/viewspace-717399/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- cpu佔用率100%怎麼解決 cpu佔用率高怎麼辦
- SQL中欄位比較型別不匹配錯誤:‘cannot be cast to’SQL型別AST
- Win10系統安裝中文IME導致CPU佔用率過高的解決方法Win10
- java應用CPU佔用率過高排查Java
- windows10cpu佔用率高怎麼辦Windows
- 效能分析(5)- 軟中斷導致 CPU 使用率過高的案例
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- win10系統keyshot佔用率高cpu怎麼辦_win10 keyshot佔用率100%cpu處理方法Win10
- Node.js 應用高 CPU 佔用率的分析方法Node.js
- SQL字元型欄位按數字型欄位排序實現方法SQL字元排序
- Dubbo Hession反序列化導致CPU佔用飆高用例分析
- Laravel 對於 Mysql 欄位string型別查詢,當使用數字對這個欄位進行查詢,PHP弱型別語言導致索引失效LaravelMySql型別PHP索引
- win10空閒cpu很多cpu佔滿怎麼辦 win10cpu佔用率高怎麼辦Win10
- MongoDB更改欄位型別MongoDB型別
- win10解決antimalware service executable cpu佔用率高的方法Win10
- sql語句修改欄位型別和增加欄位SQL型別
- 網站主機CPU或記憶體使用率過高導致網站無法訪問網站記憶體
- ES Mapping ,1 欄位型別APP型別
- MySQL欄位型別最全解析MySql型別
- rundll32.exe程式佔用率CPU高的原因及解決方法
- 禁用software_reporter_tool.exe 解決CPU高佔用率的問題
- 注意!Windows 10最近更新版本1903,可致CPU佔用率達峰值Windows
- python kubernetes 獲取 pod 的 cpu 佔用率Python
- 【mongo】mongo 欄位型別互轉Go型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- 23 文件型別和圖示不匹配型別
- 記錄一次因 mysql 欄位取名不規範導致的問題MySql
- win10系統defender antivirus cpu佔用率過高怎麼解決Win10
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- java基本資料型別佔位Java資料型別
- Java程式CPU使用率高排查Java
- CPU使用率低負載高負載
- CPU利用率過高的原因
- mysql表操作(alter)/mysql欄位型別MySql型別
- Oracle 修改欄位型別和長度Oracle型別
- Linux系統中CPU佔用率較高問題排查思路與解決方法Linux
- cpu使用率過高問題(Java)Java
- .netcore利用perf分析高cpu使用率NetCore
- 一次FGC導致CPU飆高的排查過程GC