數(shù)據(jù)庫優(yōu)化方法qq論_第1頁
數(shù)據(jù)庫優(yōu)化方法qq論_第2頁
數(shù)據(jù)庫優(yōu)化方法qq論_第3頁
數(shù)據(jù)庫優(yōu)化方法qq論_第4頁
數(shù)據(jù)庫優(yōu)化方法qq論_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

梁敬彬123123小余小余買魚系列故事4總結(jié)中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.2AllRightsReserved,Copyright?FFCS2009-診斷與改進魚然后返回。一到家,媽媽就開始責(zé)怪小余買魚的時間花的太長了,因為都已經(jīng)是下午6點半了,晚上7點一家人都安排好了外出的活及了。。。。。中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.3AllRightsReserved,Copyright?FFCS2009拆開。。。。。中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS20094中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.5AllRightsReserved,Copyright?FFCS20092---需求與設(shè)計一個月后,小余媽媽又準備開始做水煮活魚了,媽媽還讓了,由于住的比較偏僻,還真的只能去20里外沃爾瑪超市買如果是以前,小余必然就是直接興沖沖的一頭沖出門,幫媽媽買魚去。不過經(jīng)歷過第一次買魚的經(jīng)歷后,他學(xué)會了思考,變得更成熟了。。。。。。(以下略去3000字。)“媽媽,我回來了!”媽媽看到小余提著魚,連連稱贊,中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.6AllRightsReserved,Copyright?FFCS20092---需求與設(shè)計因為參加DTCC2012數(shù)據(jù)庫技術(shù)大會特別認真,再獲錦囊一袋!中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS20097中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.8AllRightsReserved,Copyright?FFCS20093---資源的利用又過了幾天,媽媽再次讓小余去買魚。這次樓下附近的農(nóng)貿(mào)市場小余興沖沖的讓表哥幫忙一起開車去買魚。中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.9AllRightsReserved,Copyright?FFCS20093---資源的利用答案揭曉,請看大屏幕中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS20093---資源的利用因為農(nóng)貿(mào)市場很近,走路僅需要5分鐘可到達,媽媽的心理預(yù)期時間是在15分鐘以內(nèi)。然而到地下車庫開車、去農(nóng)貿(mào)市場找地方停車,這里就花費了15分鐘時間,超過了媽媽的預(yù)期時間。這就是要注意什么場景選擇什么樣的處理方式(從技術(shù)角度來看就是什么應(yīng)用選擇什么技術(shù))。也就是對新錦中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS20093---資源的利用小余買魚的這段時間爸爸正準備去公司參加緊急會議,結(jié)果車被開走了,最后導(dǎo)致會議遲到了。爸爸遲到這件事和上圖設(shè)計中的一來爸爸去出差了,二來買魚的路途遙遠,當然要合理利用資源。而中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009-真正的需求又過了一個月,媽媽又準備讓小余買草魚來招待剛上門做了。不過因為離晚飯時間很近了,媽媽希望能在15分鐘內(nèi)買好還是開動了腦筋。最終居然讓媽媽滿意的點點頭。你們誰能猜中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009-真正的需求最終小余讓媽媽別買魚了,用冰箱里的牛肉做水煮肉片。中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009123123買魚買出方法論4總結(jié)中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009詳見下頁兩大法寶中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009兩大法寶:意識和技能了解樓下是否有魚;判斷銀行排隊取錢能否避免;探索要去某地買魚中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS2009兩大法寶:意識和技能生活中的優(yōu)化就是意識和技能的結(jié)合,兩者都非常重要。接下來談意識,生活中有不少場景甚至是僅靠意識而未使用特定技能最終解決問題的。比如小余直接去樓下買到魚了,還需要考慮會不會騎車嗎?再比如小余讓媽媽改做水煮牛肉了,還需要掌握開車的本中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.20AllRightsReserved,Copyright?FFCS2009123123方方法論應(yīng)用案例4總結(jié)中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.21AllRightsReserved,Copyright?FFCS2009壓,維護人員跟蹤發(fā)現(xiàn),原因是后臺短信平臺進程調(diào)用數(shù)據(jù)庫到,現(xiàn)在不知是何種原因過程包返回時間居然長達1分鐘。所以導(dǎo)致短信后臺程序處理緩慢許多,最終造成短信積壓。中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.22AllRightsReserved,Copyright?FFCS2009eventstracenamecontextforeverlevel?10046trace工具跟蹤完畢后會輸出分析結(jié)果,類似如下:sysnola1.該過程包總共執(zhí)行了多少SQL語句,具體內(nèi)容是什么,分別開銷了多少時長中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.23AllRightsReserved,Copyright?FFCS2009要矛盾兩個動作啊。接著分析10046.txt文件,發(fā)現(xiàn)原來慢的SQL是類似如下2條簡單的SQL,分別占用30秒和20秒,其他所有SQL單次執(zhí)行都只零點幾秒。語句語句1(SQL1耗時30秒)Selectcount(*)fromt1;語語句2(SQL2耗時20秒)Selectdistinctt1.col1,t1.col2,t2.col3,t2.col4fromt1,t2wheret1.id=t2.idand=’cc’orderbyt1.col5;其其他SQL語句(合計才消耗0.5秒)----SQL3(0.03秒)----SQL4(0.028秒)--略去中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS200924改進優(yōu)化(首次優(yōu)化)該表記錄目前有5千萬,每次都對全表進行掃描僅為了獲取該表的記錄。我們的需求是為了得到記錄數(shù),是否一定需只有如果對該表存放序列值的非空字段SEQ_ID上建一個索引,全掃描該索引,一樣可以獲取到該表有多少記錄的信中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.25AllRightsReserved,Copyright?FFCS2009改進優(yōu)化(首次優(yōu)化)大家知道,索引的大小比表的大小小的多,在更大的范圍內(nèi)遍歷更快速還是在小的多的范圍內(nèi)遍歷更快速呢?好比買魚是到遠方的沃爾瑪還是樓下的農(nóng)貿(mào)商場買魚那T1表的SEQ_ID這個非空字段上建立一個索引該SQL執(zhí)行速度從原來的30秒變?yōu)?秒左右。中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.26AllRightsReserved,Copyright?FFCS2009改進優(yōu)化(首次優(yōu)化)接下來進行SQL2的調(diào)優(yōu),和優(yōu)化SQL1時一樣首先開始查看wheret1.id=t2.idand=’cc’中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS200927改進優(yōu)化(首次優(yōu)化)哦,利用索引的快速定位原理。假如我們在name列建了一個索引,而現(xiàn)在是利用了索引的快速檢索原理。不可能再出現(xiàn)c打頭的記錄了,因為我們是查詢=cc的值,當然停隨時停止檢索相比遍歷全表,明顯是少做事和不做事,效率中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.28AllRightsReserved,Copyright?FFCS2009需求與設(shè)計(再次優(yōu)化1)遇到疑問最重要要去如何分析?首先應(yīng)該想法去理解需求!分析過程果然有新發(fā)現(xiàn)!原來該SQL1在過程包中類似如下:intovcntfromt我來翻譯一下這段需求:獲取t1表的記錄數(shù),判斷是否大于0,如果大于0走A邏輯,否中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS200929需求與設(shè)計(再次優(yōu)化1)我們是不是一定要遍歷整個表得出一個記錄數(shù)才知道是否大于0?ountfromtwhererownum做美味的晚餐,站在這個角度,完全可以用現(xiàn)成的其他菜來代替非AllRightsReservedAllRightsReserved,Copyright?FFCS2009FujianFujitsuCommunicationSoftwareCo.,Ltd.30需求與設(shè)計(再次優(yōu)化2)應(yīng)用只要涉及到訪問t2表的,都需要增加distinct關(guān)鍵字來排重!天啦,居然還有這回事!還有更神奇的,關(guān)于此處的orderby,居接下來思路很簡單,即優(yōu)化了源頭程序(另外一個數(shù)據(jù)庫包),中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.31AllRightsReserved,Copyright?FFCS2009資源利用(花絮)讀者還記得我說的T2表排除重復(fù)記錄的事情吧,我當時提供了技術(shù)方案給維護人員,方案是新建一張表出來,提11.首先建立新表Createtablet2_newnologgingparallel12Asselectdistinct*fromt2where…..;1.停應(yīng)用2.Renamet2tot2_bk3.Renamet2_newtot2;4.補上t2表的相關(guān)索引,并將t2表的logging屬性恢復(fù)。中國電信福建富士通信息軟件有限公司(中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.AllRightsReserved,Copyright?FFCS200932資源利用(花絮)我之前有提醒是要在業(yè)務(wù)不繁忙的時候操作,比如凌晨打補丁的時候順道操作。因為我有寫了parallel12,表示要可惜的是維護人員自作主張,在大白天系統(tǒng)繁忙的時候tablet2_new的語句占據(jù)消耗著,引發(fā)生產(chǎn)系統(tǒng)短時間的壓力繁忙,險些壓垮了系統(tǒng),好在該語句在5分鐘內(nèi)結(jié)束,未中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.33AllRightsReserved,Copyright?FFCS2009資源利用(花絮)應(yīng)該是《小余買魚3》吧。讓我們一起回想一下小余買魚3的故事:去遠方開會的爸爸沒車開,遲到了。要去那么遠的地方,不選擇開車去就是傻瓜了。不用并行也是不善于利用資源,因為凌晨系統(tǒng)沒有什么進程在運行,應(yīng)用因為CPU被占用光而受到影響。中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.34AllRightsReserved,Copyright?FFCS2009結(jié)果發(fā)現(xiàn)是CRONTAB自動調(diào)用的定時腳本運行非常超過10分鐘,導(dǎo)致所有的CPU都被該自動腳本耗光。剖析該定時腳本,發(fā)現(xiàn)主要是因為調(diào)用其中的存儲過但是只返回少數(shù)的記錄,所以在合適的列加索引,就可以中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.35AllRightsReserved,Copyright?FFCS2009其實我是把定時腳本給剁了中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.36AllRightsReserved,Copyright?FFCS2009還記得前面《小余買魚》故事總結(jié)的買魚方法論中的“兩不知道讀者注意到?jīng)]有,這次生產(chǎn)系統(tǒng)的數(shù)據(jù)庫優(yōu)化不中國電信福建富士通信息軟件有限公司(FFCS)FujianFujitsuCommunicationSoftwareCo.,Ltd.37AllRightsReserved,Copyright?FFCS2009意識表現(xiàn)為:(選擇用10046TRACE工具包來實現(xiàn));2.找到問題所在以后去理解需求,探索是否能少做事完成需求(選擇用索引來替代全表掃描,從而減少訪問路徑);3.去思考需求背后的真正需求(最終將selectcount(*)fromt1改造為selectcoun

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論