国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

[Oracle]一次數據庫性能問題的tuning

瀏覽:127日期:2023-11-22 08:53:17
基本情況: 系統是一個基于web的業務系統,以online查詢為主,數據更新以批量為主,晚上執行。應該說系統還不算負載太大。5-1之后上班的時候客戶反映很慢,察看DB的cpu慢慢長到100%狀態。服務基本處于不可用狀態。i/o wait也挺高的。 經檢查,前些天的批量竟然有達到20多小時才完成,導致次日批量都跑不起來。 打開statspack收集信息 從系統中發現本應該夜間執行的批量作業還在運行。停掉后,rollback做了4個小時!(因為一個transaction中只有一個復雜的、數據量巨大的insert語句) 然后做statspack分析, 系統中存在問題:等待事件較嚴重,緩存命中率較低, 語句分析: 1、一些大量執行update/delete語句竟然沒有建立索引,其實可以建立pk,根據pk處理。 where中使用常量(引起parse) 2、存在大量這樣的語句: SELECT fieldx FROM Tablesname where trim(ServiceNUM) = 'DDDDDD' - 在ServiceNUM字段上是唯一索引,因為trim就不能使用index(敗筆) --改! - 使用常量查詢,造成每次查詢都要parse,沒有必要的占用的CPU -- 改! 3、在批量的存儲過程中, 所有語句基本都是全表掃描! --- 和開發人員溝通,需要修改邏輯。改進之后效果還是蠻大的。 另外發現一個問題: 客戶需要的是n百萬用戶數據中的活動用戶萬數據,他們卻全部把n百萬數據從其他系統中收集到自己的系統中,在批量的時候又使用full table scan,性能自然不會好。系統從剛開始設計的時候就存在隱患。這個問題就需要從長計議了。 修改后,CPU高峰時間基本穩定在30-40%之間。 批量基本在2個小時內完成。 其實是一個很簡單的系統,但是做到這種樣子,尤其是從設計到編碼都存在問題。呵呵,說真的,不是在優化語句的,而是從頭開始看設計。
標簽: Oracle 數據庫
主站蜘蛛池模板: 普定县| 武穴市| 安仁县| 集安市| 廉江市| 和田县| 蓬溪县| 清苑县| 阿尔山市| 南丰县| 桐柏县| 利辛县| 白朗县| 武冈市| 德清县| 吉木乃县| 青川县| 济源市| 乐山市| 元阳县| 大宁县| 固始县| 文昌市| 固始县| 柳州市| 重庆市| 丽水市| 宁都县| 筠连县| 忻城县| 七台河市| 乐昌市| 靖江市| 航空| 祁阳县| 高密市| 碌曲县| 苏尼特左旗| 兴文县| 梁平县| 华池县|