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

首頁 > 開發 > 綜合 > 正文

用一個案例講解應用程序越來越慢的原因

2024-07-21 02:42:57
字體:
來源:轉載
供稿:網友
這篇論壇文章(賽迪網技術社區)主要介紹了一個導致應用程序越來越慢的的實際案例,詳細內容請參考下文:

案例:

發現應用程序慢,開始把目光放在檢查商業邏輯的SQL上面,覺得沒什么問題,但是執行時間大大超出我的預期。

后來詢問開發人員,原來最初會取工單表里面的最近工單時間,最早工單時間來做對比。

根據經驗,對索引字段做MAX或者MIN是很快的,因為索引是有序,優化器直接到索引頭或者尾部去取rowid就可以了。

但是打開程序一看,SQLPReparement里面的句子是這樣的:

select min(billtime),MAX(billtime) from billcontent

覺得有問題了,一看執行計劃,恍然大悟:

Execution Plan

----------------------------------------------------------

Plan hash value: 1499044795

----------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

----------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 8 | 5126 (3)| 00:01:02 | | |

| 1 | SORT AGGREGATE | | 1 | 8 | | | | |

| 2 | PARTITION RANGE SINGLE| | 7653K| 58M| 5126 (3)| 00:01:02 | 1 | 1 |

| 3 | PARTITION LIST ALL | | 7653K| 58M| 5126 (3)| 00:01:02 | 1 | 21 |

| 4 | INDEX FAST FULL SCAN| IDX_ANALYSE_CONTENT_2 | 7653K| 58M| 5126 (3)| 00:01:02 | 1 | 21 |

------------------------------------------------------------

Statistics

----------------------------------------------------------

26745 consistent gets

是INDEX FAST FULL SCAN,26745 個一致讀,5126 的Cost,大概查了一下,該索引擁有27632個塊,現在對索引做了完全掃描。

對于一致讀和Cost的計算方法,這里暫不多述。

只查一個極限值話:

select min(billtime) from billcontent;

Execution Plan

----------------------------------------------------------

Plan hash value: 4137395070

-----------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

-----------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 8 | 3 (0)| 00:00:01 | | |

| 1 | SORT AGGREGATE | | 1 | 8 | | | | |

| 2 | PARTITION RANGE SINGLE | | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 1 |

| 3 | PARTITION LIST ALL | | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 21 |

| 4 | INDEX FULL SCAN (MIN/MAX)| IDX_ANALYSE_CONTENT_2 | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 21 |

--------------------------------------------------------------

Statistics

----------------------------------------------------------

42 consistent gets

計劃是INDEX FULL SCAN (MIN/MAX),(MIN/MAX)表明只會訪問索引的頭或尾,開銷大大減小,只有42個一致讀和極低的Cost,正常情況只能是

這個的兩倍多。

馬上動手改為:

SELECT

(select min(calltime) from analyse_content ),

(select MAX(calltime) from analyse_content )

FROM dual

Execution Plan

----------------------------------------------------------

Plan hash value: 2326664376

-----------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

-----------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | | 2 (0)| 00:00:01 | | |

| 1 | SORT AGGREGATE | | 1 | 8 | | | | |

| 2 | PARTITION RANGE SINGLE | | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 1 |

| 3 | PARTITION LIST ALL | | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 21 |

| 4 | INDEX FULL SCAN (MIN/MAX)| IDX_ANALYSE_CONTENT_2 | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 21 |

| 5 | SORT AGGREGATE | | 1 | 8 | | | | |

| 6 | PARTITION RANGE SINGLE | | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 1 |

| 7 | PARTITION LIST ALL | | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 21 |

| 8 | INDEX FULL SCAN (MIN/MAX)| IDX_ANALYSE_CONTENT_2 | 7653K| 58M| 3 (0)| 00:00:01 | 1 | 21 |

| 9 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 | | |

-------------------------------------------------------------

Statistics

----------------------------------------------------------

84 consistent gets

完美解決。

總結:

其實這個問題很小,這個SQL人人都會寫,但是很多開發人員,在寫這種SQL的時候不會去思考結果產生的過程,以實現為原則,在他們眼中數據庫仍然是黑盒。在測試過程中也沒有仔細觀察效率,在測試表數據較少,人眼感覺不出來問題,一在生產庫跑就越來越慢。

所以,無論是開發和DBA多學習數據庫的執行機制和原理,是沒有害處的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品综合网站| 精品无人区乱码1区2区3区在线| 国产香蕉一区二区三区在线视频| 日韩美女在线播放| 国产精品自产拍在线观看中文| 神马久久桃色视频| 久久久久久国产精品美女| 日韩一区视频在线| 久热国产精品视频| 成人黄色免费网站在线观看| 久久99精品久久久久久噜噜| 九九热精品在线| 97超碰蝌蚪网人人做人人爽| 国产精品久久久久久五月尺| 91亚洲精品在线观看| 亚洲成人黄色在线观看| 国产噜噜噜噜久久久久久久久| 色www亚洲国产张柏芝| 91国内精品久久| 欧美日韩国产一区二区| 亚洲最大中文字幕| 欧美裸体xxxx极品少妇软件| 尤物九九久久国产精品的特点| 久久精品国产69国产精品亚洲| 亚洲第一区中文字幕| 日韩在线视频网| 国产伊人精品在线| 国产精品福利在线观看网址| 国产在线视频一区| 成人免费观看49www在线观看| 日韩精品免费在线播放| 欧美在线视频观看免费网站| 欧美日韩国产第一页| 精品国产拍在线观看| 久久深夜福利免费观看| 亚洲一区二区三区视频播放| 国产精品专区h在线观看| 欧美激情精品久久久久久免费印度| 亚洲3p在线观看| 一区二区成人av| 95av在线视频| 国产精品青青在线观看爽香蕉| 日韩av电影国产| 国产精品影片在线观看| 亚洲一级免费视频| 欧美性xxxx在线播放| 欧美激情一区二区三区高清视频| 午夜精品久久久久久久男人的天堂| 亚洲国产天堂网精品网站| 丰满岳妇乱一区二区三区| 色狠狠av一区二区三区香蕉蜜桃| 亚洲自拍av在线| 久久久国产精品x99av| 精品国产乱码久久久久久天美| 欧美午夜精品久久久久久人妖| 亚洲国产中文字幕久久网| 美日韩精品免费观看视频| 国产精品免费视频久久久| 国产精品高潮呻吟久久av黑人| 最近的2019中文字幕免费一页| 久久免费视频在线观看| 中文字幕欧美精品在线| 欧美日韩一区二区免费视频| 免费97视频在线精品国自产拍| 亚洲国产第一页| 国产精品免费久久久| 欧美老肥婆性猛交视频| 国产精品视频最多的网站| 精品视频久久久久久| 成人av在线网址| 不卡中文字幕av| 国产精品黄色av| 国产一级揄自揄精品视频| 亚洲影院色在线观看免费| 全色精品综合影院| 欧美人交a欧美精品| 亚洲一区二区中文| 欧日韩在线观看| 亚洲欧美国产一本综合首页| 亚洲欧美日韩精品久久奇米色影视| 欧美日韩国产二区| 91福利视频网| 国产专区精品视频| www.久久久久久.com| 亚洲乱码一区av黑人高潮| 青青久久av北条麻妃黑人| 亚洲一二三在线| 韩国三级电影久久久久久| 91精品国产一区| 欧美成人免费va影院高清| 欧美激情久久久久| 欧美极品第一页| 欧洲成人免费aa| 91欧美日韩一区| 久久噜噜噜精品国产亚洲综合| 97在线视频免费播放| 欧美性猛交xxxx黑人| 亚洲成色999久久网站| 亚洲天堂一区二区三区| 久久影院免费观看| 亚洲欧美日韩中文在线制服| 亚洲欧洲一区二区三区久久| 亚洲成人动漫在线播放| 成年人精品视频| 欧美成年人网站| 亚洲夜晚福利在线观看| 国产精品久久久久久久app| 91精品视频在线播放| 91精品国产色综合久久不卡98口| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久久这里只有精品视频| 91九色国产视频| 2020久久国产精品| 国产伦精品免费视频| 国内免费久久久久久久久久久| 亚洲男人的天堂在线播放| 综合av色偷偷网| 欧美日韩精品国产| 精品成人国产在线观看男人呻吟| 91精品国产九九九久久久亚洲| 欧美黑人狂野猛交老妇| 亚洲电影免费观看高清完整版在线| 久久久久久久久中文字幕| 77777少妇光屁股久久一区| 国产精品福利在线观看网址| 午夜精品一区二区三区av| 在线播放日韩欧美| 91成人在线播放| 欧美性猛交xxxx久久久| 国产ts一区二区| 91av在线影院| 欧美日韩日本国产| 欧美洲成人男女午夜视频| 精品亚洲aⅴ在线观看| 欧美孕妇毛茸茸xxxx| 亚洲色图美腿丝袜| 中文字幕视频在线免费欧美日韩综合在线看| 日韩乱码在线视频| 久久99热精品| 日韩经典第一页| 欧美一区二区.| 久久久国产精品一区| 色偷偷88888欧美精品久久久| 亚洲码在线观看| 亚洲精品国产精品自产a区红杏吧| 美女国内精品自产拍在线播放| 亚洲福利在线看| 久久久久久中文字幕| 红桃视频成人在线观看| 久久久久久久亚洲精品| 国产精品久久久久久av福利| 亚洲福利在线视频| 欧美性xxxxxxx| 欧美日韩国产综合新一区| 日韩有码在线视频| 日韩精品在线视频美女| 欧美风情在线观看| 欧美日韩在线一区| 国产精品揄拍500视频| 91精品国产高清自在线| 动漫精品一区二区| 久久久久久综合网天天| 亚洲精品xxxx| 亚洲自拍高清视频网站|