一,依舊很簡單的乙個介面,查詢列表介面,發現10併發單交易場景下,資料庫表4w鋪底資料,每次查詢2000條資料進行orderby顯示,平均響應時間2秒以上,資料庫的cpu使用率高達95%;
二,抓到這條sql語句:
select *from table1 t1 left join table2 t2 on t1.id = t2.id where 1=1
and ....
order by t1. ..
二,新增索引後,測試,發現平均響應時間0.5秒,tps提公升4倍多,但是資料庫的cpu的使用率依舊是95%以上,
三,分析sql語句後,本來一句很簡單的sql語句,檢查了有檢查,發現原因在t1.id = t2.id 這個上面,兩張表關聯的字段的字段型別不一樣,乙個是bigint型,乙個是varchar型,導致了cpu資源消耗;
以上,
一次SQL調優資料庫效能問題後的過程 300W
將絕大部分的sql查詢改為儲存過程,這樣的操作毫無疑問可以提高部分效能。凡是使用 select from 的操作一律具體到所需欄位。使用join連線2個以上大量資料的表,且基礎資料表變化不大的查詢一律使用檢視,並為此檢視建立索引。理由來自sql server聯機幫助手冊 對於標準檢視而言,為每個引用...
記錄一次系統效能調優過程
問題回顧 問題清單 模組合併過程中各種衝突,各種bean無法正常載入 事件處理效能原來每秒3000 1w左右,現在突然驟降至幾百左右 事件存在丟失現象,而且丟失比較嚴重 發現系統cache一直在不斷的 free m 後發現可餘記憶體幾乎用沒了 剩餘100m左右,其實就差不多是用完了,不會再降低 1....
SQL效能優化 資料庫調優 概覽
簡單的目的 執行更快,響應更快,吞吐量更大 不過目標太泛,不夠具體,所以我們需要根據精細的問題定位去調優。通常是以下幾種 資料庫調優不僅有sql,部署 配置 架構也很重要 1.選擇合適dbms 對事務效能和安全要求比較高,選擇商業資料庫如sqlserver,mysql有很多儲存引擎,innodb善於...