原创 直方圖缺失的優化案例
背景:某監控系統一條SQL在老環境執行3s,遷移到新環境執行了15分鐘不出結果,報錯ORA-01555 SQL語句如下: select ..... from SMMMMVIEW.POS_TTTTT cc, SMM
原创 dblink遠端數據庫統計信息過期
某CRM數據庫系統跑批一條SQL執行了24小時 還沒執行完 問題SQL已經定位到,SQL中表信息以及執行計劃如下: SELECT t.CRM_DT, ...... ...... SUM(nvl
原创 使用HASH代替NEST LOOP
某系統有一條SQL 執行了十幾個小時沒出結果~ 【SQL複雜 案例簡單 已經精通oracle連接方式的可自行繞道別的案例~】 SQL語句和執行計劃如下: select tt.org_type, tt.prod_code
原创 選擇最合適的連接方式
聲明:本例十分簡單,只適合新手DBA走馬,老司機請自覺繞道~ 背景:跑批中一條SQL“卡住”了三個小時..... SQL以及執行計劃如下: SELECT A.* FROM SSS_DDD_ACCT_DDD_DDD a WHERE e
原创 bitmap index的優化案例
某系統存儲過程執行不過去,通過查詢長時間ACTIVE的SESSION定位到如下語句: UPDATE AAA_BBBBBBBBB_ALM T SET KEY_BS='1111111111' WHERE T.PARTITION_KEY =
原创 union和or互換
今天,某數據倉庫系統的開發發來一條SQL,說跑了3個小時,嚴重拖慢了整個的跑批流程。 INSERT INTO ETL.RRR_SSSS_GGGG_INTERNAL_PTB (RPT_ORG_ID, ITEM_CD,
原创 分頁語句優化案例
某數倉系統,一條SQL語句執行了很長時間,SQL和執行計劃如下 select c.data_dt, c.cust_id, c.cust_mgr_id, c.org_id, c.ou
原创 序列設計之enq SQ - contention處理一則
某系統負責人反應系統很慢,收集持續報警短信。 查看數據庫當前活動回話等待事件爲enq: SQ – contention,當前活動session 200+ enq: SQ – contention是sequence相關的鎖,在內存上緩存(
原创 數據倉庫設計的隱患-標量子查詢
首先,來理解一下標量子查詢:處於select之後from之前的子查詢稱爲標量子查詢 .比如:select num1,cal,(select name from t2 where t2.id = t1.id)from t1;舉這個例子只是
原创 一條hang住數據庫的SQL的分析
2017年某一天某個系統接口人找到我說 有個存儲過程跑不過去,嘗試了幾次均報錯: ORA-12801:並行查詢服務器p001 ,instance xx中發出錯誤信號 ORA-04030:在嘗試分配16328字節(xxxx)時進程內存
原创 Exadata遷移到雙節點RAC性能下降
背景:某個數據抽取系統(OLAP)一個跑批存儲過程在老環境(40分鐘)遷到 新環境(140分鐘) 老環境是一體機,新環境是雙節點RAC.其實不算是遷移,可以看作倆系統同時存在 一條SQL分別在兩個系統上跑,性能差異很大 SQL語句如下:
原创 SQL刑偵科推理題
跟個風 推一下~ WITH T AS ( SELECT 'A' AS ID FROM DUAL UNION ALL SELECT 'B' AS ID FROM DUAL UNION ALL SELECT 'C' AS ID FROM
原创 利用rowid完成自連接的表更新
開發人員反饋有一條業務SQL很難實現,具體要實現如下功能: 表數據如下圖,用name字段去更新fl字段,得到結果如右圖所示: =======> DROP TABLE TEST_W; create table test_W (
原创 關注業務-把優化做到極致
SELECT .. .. .. FROM AWP.TTT_TTT_TRANSACTION_2018 INCT LEFT JOIN AWP.TTT_TTT_TELM TELM ON INCT.TELLER_NO = TEL
原创 一波三折:UPDATE語句改寫優化
最近趕上第四季度上版。很多套系統遷移測試,太忙,抽空帶徒弟去優化了一條UPDATE改寫的SQL 具體的故障分析報告是她寫的,如下: 2018年10月份的一天,歷史報表系統的開發人員讓我幫忙優化一個每天執行報錯ORA-01555