亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle診斷案例-Sql_trace之一

2024-08-29 13:48:40
字體:
來源:轉載
供稿:網友

  
link:

http://www.eygle.com/case/sql_trace_1.htm

問題描述:

這是幫助一個公司的診斷案例.
應用是一個后臺新聞發布系統.

癥狀是,通過連接訪問新聞頁是極其緩慢
通常需要十數秒才能返回.

這種性能是用戶不能忍受的.

操作系統:SunOS 5.8
數據庫版本:8.1.7


1.檢查并跟蹤數據庫進程
診斷時是晚上,無用戶訪問
在前臺點擊相關頁面,同時進行進程跟蹤

查詢v$session視圖,獲取進程信息


 

SQL> select sid,serial#,username from v$session; SID SERIAL# USERNAME---------- ---------- ------------------------------ 1 1 2 1 3 1 4 1 5 1 6 1 7 284 IFLOW 11 214 IFLOW 12 164 SYS 16 1042 IFLOW10 rows selected.

啟用相關進程sql_trace


 

SQL> exec dbms_system.set_sql_trace_in_session(7,284,true)PL/SQL PRocedure sUCcessfully completed.SQL> exec dbms_system.set_sql_trace_in_session(11,214,true)PL/SQL procedure successfully completed.SQL> exec dbms_system.set_sql_trace_in_session(16,1042,true)PL/SQL procedure successfully completed.SQL> select sid,serial#,username from v$session; SID SERIAL# USERNAME---------- ---------- ------------------------------ 1 1 2 1 3 1 4 1 5 1 6 1 7 284 IFLOW 11 214 IFLOW 12 164 SYS 16 1042 IFLOW10 rows selected.

等候一段時間,關閉sql_trace


 

SQL> exec dbms_system.set_sql_trace_in_session(7,284,false)PL/SQL procedure successfully completed.SQL> exec dbms_system.set_sql_trace_in_session(11,214,false)PL/SQL procedure successfully completed.SQL> exec dbms_system.set_sql_trace_in_session(16,1042,false)PL/SQL procedure successfully completed.

2.檢查trace文件

檢查發現以下語句是可疑的


 

********************************************************************************select auditstatus,categoryid,auditlevel from categoryarticleassign a,category b where b.id=a.categoryid and articleId= 20030700400141 and auditstatus>0call count cpu elapsed disk query current rows------- ------ -------- ---------- ---------- ---------- ---------- ----------Parse 1 0.00 0.00 0 0 0 0Execute 1 0.00 0.00 0 0 0 0Fetch 1 0.81 0.81 0 3892 0 1------- ------ -------- ---------- ---------- ---------- ---------- ----------total 3 0.81 0.81 0 3892 0 1********************************************************************************

這里顯然是根據articleId進行新聞讀取的.
很可疑的是query讀取有3892

這個內容引起了我的注重.
假如碰到過類似的問題,大家在這里就應該知道是怎么回事情了.
假如沒有碰到過的朋友,可以在這里思考一下再往下看.

Misses in library cache during parse: 1Optimizer goal: CHOOSEParsing user id: 41 Rows Row Source Operation------- --------------------------------------------------- 1 NESTED LOOPS 2 INDEX RANGE SCAN (object id 25062) 1 TABLE access BY INDEX ROWID CATEGORY 2 INDEX UNIQUE SCAN (object id 25057)********************************************************************************select auditstatus,categoryid from categoryarticleassign where articleId=20030700400138 and categoryId in ('63', '138','139','140','141','142','143','144','168','213','292','341','346', '347','348','349','350','351','352','353','354','355','356','357','358', '359','360','361','362','363','364','365','366','367','368','369','370', '371','372','383','460','461','462','463','621','622','626','629','631', '634','636','643','802','837','838','849','850','851','852','853','854', '858','859','860','861','862','863','-1')call count cpu elapsed disk query current rows------- ------ -------- ---------- ---------- ---------- ---------- ----------Parse 1 0.00 0.00 0 0 0 0Execute 1 0.00 0.00 0 0 0 0Fetch 1 4.91 4.91 0 2835 7 1------- ------ -------- ---------- ---------- ---------- ---------- ----------total 3 4.91 4.91 0 2835 7 1Misses in library cache during parse: 1Optimizer goal: CHOOSEParsing user id: 41 Rows Row Source Operation------- --------------------------------------------------- 1 'TABLE ACCESS FULL CATEGORYARTICLEASSIGN'我們注重到,這里有一個全表掃描存在********************************************************************************




 


3.登陸數據庫,檢查相應表結構




 


SQL> select index_name,table_name,column_name from user_ind_columns 2 where table_name=upper('categoryarticleassign');INDEX_NAME TABLE_NAME COLUMN_NAME ------------------------------ ------------------------------ -------------------- IDX_ARTICLEID CATEGORYARTICLEASSIGN ARTICLEIDIND_ARTICLEID_CATEG CATEGORYARTICLEASSIGN ARTICLEID IND_ARTICLEID_CATEG CATEGORYARTICLEASSIGN CATEGORYID IDX_SORTID CATEGORYARTICLEASSIGN SORTID PK_CATEGORYARTICLEASSIGN CATEGORYARTICLEASSIGN ARTICLEID PK_CATEGORYARTICLEASSIGN CATEGORYARTICLEASSIGN CATEGORYID PK_CATEGORYARTICLEASSIGN CATEGORYARTICLEASSIGN ASSIGNTYPE IDX_CAT_ARTICLE CATEGORYARTICLEASSIGN AUDITSTATUS IDX_CAT_ARTICLE CATEGORYARTICLEASSIGN ARTICLEID IDX_CAT_ARTICLE CATEGORYARTICLEASSIGN CATEGORYID IDX_CAT_ARTICLE CATEGORYARTICLEASSIGN ASSIGNTYPE 11 rows selected.


我們注重到,IDX_ARTICLEID索引在以上查詢中都沒有被用到.

檢查表結構:


 

SQL> desc categoryarticleassign Name Null?
Type ----------------------------------------- -------- ---------------------------- CATEGORYID NOT NULL NUMBER ARTICLEID NOT NULL VARCHAR2(14) ASSIGNTYPE NOT NULL VARCHAR2(1) AUDITSTATUS NOT NULL NUMBER SORTID NOT NULL NUMBER UNPASS VARCHAR2(255)



問題發現:
因為ARTICLEID是個字符型數據,查詢中給入的articleId= 20030700400141 是一個數字值
Oracle發生潛在的數據類型轉換,從而導致了索引失效



 

SQL> select auditstatus,categoryid 2 from 3 categoryarticleassign where articleId=20030700400132;AUDITSTATUS CATEGORYID ----------- ---------- 9 94 0 383 0 695 Elapsed: 00:00:02.62Execution Plan---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=110 Card=2 Bytes=38) 1 0 TABLE ACCESS (FULL) OF 'CATEGORYARTICLEASSIGN' (Cost=110 Card=2 Bytes=38)





4.解決方法

簡單的在參數兩側各增加一個',既可解決這個問題.

對于類似的查詢,我們發現Query模式讀取降低為2
幾乎不需要花費CPU時間了


 ********************************************************************************select unpass from categoryarticleassign where articleid='20030320000682' and categoryid='113' call count cpu elapsed disk query current rows------- ------ -------- ---------- ---------- ---------- ---------- ----------Parse 1 0.00 0.00 0 0 0 0Execute 1 0.00 0.00 0 0 0 0Fetch 1 0.00 0.00 0 2 0 0------- ------ -------- ---------- ---------- ---------- ---------- ----------total 3 0.00 0.00 0 2 0 0Misses in library cache during parse: 1Optimizer goal: CHOOSEParsing user id: 20 Rows Row Source Operation------- --------------------------------------------------- 0 TABLE ACCESS BY INDEX ROWID CATEGORYARTICLEASSIGN 1 INDEX RANGE SCAN (object id 3080)********************************************************************************

 

 

至此,這個問題得到了完滿的解決.

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品成人欧美大片| 日韩av在线免费播放| 亚洲天堂av女优| 国产精品男人爽免费视频1| 欧美精品制服第一页| 久久人体大胆视频| 精品视频在线播放免| 在线日韩日本国产亚洲| 九九久久久久久久久激情| 欧美午夜精品久久久久久浪潮| 欧美大片免费观看| 日韩精品在线影院| 亚洲综合av影视| 在线观看精品自拍私拍| 插插插亚洲综合网| 色综合色综合网色综合| 欧美久久精品一级黑人c片| 成人97在线观看视频| www.亚洲一二| 日韩av影视在线| 亚洲另类图片色| 中文字幕久热精品在线视频| 国产精品日韩电影| 日韩欧美国产黄色| 久久夜色精品国产| 77777亚洲午夜久久多人| 欧美激情精品久久久久久蜜臀| 成人激情视频网| 亚洲精品美女网站| 日韩电影大全免费观看2023年上| 欧美性生交xxxxx久久久| 伊人久久久久久久久久| 欧美精品第一页在线播放| 日韩成人激情在线| 97成人精品区在线播放| 亚洲va国产va天堂va久久| 日韩免费在线电影| 色视频www在线播放国产成人| 国内精品模特av私拍在线观看| 久久91亚洲精品中文字幕奶水| 国产亚洲人成网站在线观看| 美日韩精品视频免费看| 韩剧1988免费观看全集| 亚洲人成电影网站色xx| 丰满岳妇乱一区二区三区| 亚洲网站在线观看| 国内精品视频在线| 亚洲欧美国产高清va在线播| 秋霞成人午夜鲁丝一区二区三区| 成人乱色短篇合集| 欧美电影在线观看高清| 中文字幕精品www乱入免费视频| 欧美另类高清videos| 成人午夜在线影院| 午夜精品久久久久久久99黑人| 日韩av在线一区二区| 欧美精品成人在线| 丝袜一区二区三区| 国产成人avxxxxx在线看| 国产日韩视频在线观看| 国产欧美日韩免费看aⅴ视频| 久久精品国产亚洲| 亚洲美女喷白浆| 精品无人国产偷自产在线| 欧美在线观看一区二区三区| 插插插亚洲综合网| 在线播放日韩av| 欧美大码xxxx| 日本高清视频精品| 国产精品久久久久不卡| 2019中文字幕免费视频| 欧美激情a在线| 日韩高清中文字幕| 日韩大片在线观看视频| 日韩成人在线播放| 91热精品视频| 久久综合88中文色鬼| 国产精品福利久久久| 亚洲精品福利在线| 日韩激情av在线播放| 国产精品一区二区久久久久| 深夜福利91大全| 亚洲女人天堂视频| 欧美极品美女视频网站在线观看免费| 久久人人爽人人爽人人片av高请| 久久99热精品这里久久精品| 日韩国产一区三区| 国产精品免费视频久久久| 91精品国产综合久久久久久久久| 国产精品444| 欧美国产日韩视频| 91久久精品在线| 97国产在线观看| 日本久久精品视频| 91探花福利精品国产自产在线| 另类少妇人与禽zozz0性伦| 国产不卡精品视男人的天堂| 中日韩美女免费视频网址在线观看| 福利视频导航一区| 欧美激情videoshd| 2020久久国产精品| 亚洲成在人线av| 亚洲美女视频网| 97久久精品在线| 日韩精品一区二区三区第95| 88xx成人精品| 另类视频在线观看| 亚洲级视频在线观看免费1级| 亚洲第一福利网| 欧美激情视频三区| 久久精品这里热有精品| 亚洲最大的成人网| 欧美裸体视频网站| 日本不卡高字幕在线2019| 日韩免费观看在线观看| 亚洲电影免费观看| 亚洲精品按摩视频| 亚洲精品v欧美精品v日韩精品| 久久视频在线视频| 日韩在线观看高清| 亚洲v日韩v综合v精品v| 色噜噜亚洲精品中文字幕| 亚洲成avwww人| 色综久久综合桃花网| 97福利一区二区| 91在线|亚洲| 欧美wwwxxxx| 久久视频免费观看| 黑人欧美xxxx| 国语自产精品视频在线看一大j8| 亚洲欧美国产高清va在线播| 欧美另类老女人| 亚洲男人7777| 伊人亚洲福利一区二区三区| 国产视频自拍一区| 中文字幕欧美日韩| 色综合久久精品亚洲国产| 精品久久久一区二区| 91av视频在线| 91精品视频免费看| 亚洲国产精品女人久久久| 38少妇精品导航| 亚洲精品综合久久中文字幕| 日韩成人在线观看| 亚洲视频专区在线| 国产精品男人爽免费视频1| 日韩一级黄色av| 国产精品美女呻吟| 亚洲欧美在线看| 国产一区二区三区在线播放免费观看| 日韩高清av一区二区三区| 日本电影亚洲天堂| 在线日韩日本国产亚洲| 日韩天堂在线视频| 亚洲精选中文字幕| 亚洲男人天堂古典| 国产精品亚洲一区二区三区| 丝袜美腿精品国产二区| 国产精品免费福利| 亚洲高清不卡av| 久久国产精品久久久久| 岛国精品视频在线播放| 91po在线观看91精品国产性色| 亚洲精品国产suv|