DB2數(shù)據(jù)庫(kù)性能調(diào)整和優(yōu)化(第2版)

出版時(shí)間:2013-7  出版社:清華大學(xué)出版社  作者:牛新莊  
Tag標(biāo)簽:無(wú)  

前言

序一自1970年IBM公司研究員E.F.Codd博士,即“關(guān)系數(shù)據(jù)庫(kù)之父”,發(fā)表業(yè)界第一篇關(guān)于關(guān)系數(shù)據(jù)庫(kù)理論的論文A Relational Model of Data for Large Shared Data Banks以來(lái),伴隨著DB2的誕生,IBM公司涌現(xiàn)出了一批優(yōu)秀的數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域先驅(qū)科學(xué)家,并獲得了一系列數(shù)據(jù)庫(kù)領(lǐng)域大獎(jiǎng),比如1981年榮獲了計(jì)算機(jī)科學(xué)界的最高榮譽(yù)——ACM圖靈獎(jiǎng)。在此之后,數(shù)據(jù)庫(kù)管理軟件在企業(yè)中得到廣泛應(yīng)用,業(yè)務(wù)流程自動(dòng)化得以實(shí)現(xiàn),對(duì)日常的工作和生活帶來(lái)了深遠(yuǎn)的影響。隨著近年來(lái)云計(jì)算、大數(shù)據(jù)、移動(dòng)以及社交信息技術(shù)的發(fā)展,數(shù)據(jù)技術(shù)也正在經(jīng)歷深刻的變革,處于一個(gè)全新計(jì)算時(shí)代的最前沿。我們能夠觀察到這樣一個(gè)趨勢(shì):數(shù)據(jù)庫(kù)的24×7高可用性、高可伸縮性,以及企業(yè)處理海量信息的方式將趨于實(shí)時(shí),并從根本上轉(zhuǎn)變業(yè)務(wù)運(yùn)作的模式??蛻粼跀?shù)據(jù)處理速度、簡(jiǎn)化程度和成本控制等方面需要更上一層樓。最新版的DB2v10.1帶來(lái)更低的存儲(chǔ)要求以及更高的響應(yīng)速度,并添加了對(duì)大數(shù)據(jù)管理(比如Hadoop)的支持。更具創(chuàng)新性的PureData 也在這樣的技術(shù)潮流中應(yīng)運(yùn)而生。它整合了基礎(chǔ)架構(gòu)、統(tǒng)一了平臺(tái)管理和專家知識(shí)體系,能夠以不同的配置分別提供OLTP(聯(lián)機(jī)事務(wù)處理)、OLAP(聯(lián)機(jī)分析處理)和大數(shù)據(jù)分析操作的能力。今天的企業(yè)用戶希望他們的數(shù)據(jù)庫(kù)能夠可靠高效地運(yùn)作,并推動(dòng)業(yè)務(wù)發(fā)展。當(dāng)我們把目光放到中國(guó),就會(huì)看到,DB2已成為各行業(yè)大型應(yīng)用系統(tǒng)的支柱產(chǎn)品。但是因DB2而聞名業(yè)界的本土技術(shù)專家,并不多見。認(rèn)識(shí)新莊是在2012年8月北京舉辦的“IBM軟件技術(shù)峰會(huì)”上。在中國(guó)的數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,他是許多年輕人的楷模。新莊的成長(zhǎng)令人欣喜,新莊對(duì)技術(shù)和實(shí)踐的孜孜不倦令人印象深刻。這套DB2書籍得益于他歷年的鉆研及實(shí)踐,對(duì)DB2初學(xué)者、DB2管理員以及資深從業(yè)者,都有非常好的指導(dǎo)及參考價(jià)值。祝愿每一位讀者能有所得、有所悟,成長(zhǎng)為新一代的數(shù)據(jù)庫(kù)技術(shù)專家,也祝愿新莊在數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域這條康莊大道上走得更寬更遠(yuǎn)。IBM全球副總裁兼IBM中國(guó)開發(fā)中心總經(jīng)理王陽(yáng)序二新莊是IBM的老朋友,也是我的老朋友了。雖然我們的見面次數(shù)并不多,但我深感他是一位非常優(yōu)秀的技術(shù)專家和管理者。尤其是在技術(shù)方面,他有自己的獨(dú)特見地,在IT軟件、硬件及解決方案方面都涉獵很廣。另外,他本人也很親和,具有技術(shù)專家的風(fēng)范。在最近一次交流中,他跟我提起他打算把之前出版的3本DB2系列書籍進(jìn)行全面版本升級(jí),我感到非常欽佩和欣喜。他在繁忙的日常工作之余,還能利用業(yè)余時(shí)間完成3本書籍的撰寫和更新,足以證明新莊的勤奮和對(duì)技術(shù)的熱愛(ài)。同時(shí)我也欣喜廣大的技術(shù)愛(ài)好者能有機(jī)會(huì)分享技術(shù)大家的心得。他把他的新書送給我,我先粗略讀了一遍,更詳細(xì)的內(nèi)容留待以后的時(shí)間里細(xì)細(xì)品味。他的這3本書籍將幫助數(shù)據(jù)庫(kù)愛(ài)好者和企業(yè)數(shù)據(jù)庫(kù)實(shí)踐者由淺入深地學(xué)習(xí)DB2。即使在網(wǎng)絡(luò)日益普及的今天,對(duì)于DB2技術(shù)工作者來(lái)說(shuō),通過(guò)書籍來(lái)系統(tǒng)化地學(xué)習(xí)同樣很重要。在我看來(lái),閱讀他的書籍有3個(gè)最特別之處:第一,他是第一位出版DB2系列中文書籍的作者,隨著這么多年書籍的廣泛傳播,他在此基礎(chǔ)上再次升級(jí)更新,結(jié)合了非常多的讀者反饋,增加了很多近幾年讀者關(guān)注和遇到的問(wèn)題。這非常難得。第二,他所在單位的核心數(shù)據(jù)庫(kù)就是DB2,本次書籍的升級(jí)纂寫,也更多結(jié)合了他的實(shí)戰(zhàn)經(jīng)驗(yàn),這將極大幫助更多企業(yè)在應(yīng)用DB2數(shù)據(jù)庫(kù)時(shí)借鑒和學(xué)習(xí)。第三,很多的技術(shù)書籍是由專注于技術(shù)的工作者撰寫,而新莊同時(shí)還是非常重要的技術(shù)管理和實(shí)踐者。站在管理者的角度撰寫的技術(shù)書籍更是融合了一名管理者如何看待技術(shù)的處理和看待問(wèn)題的視角。這幾本書綜合來(lái)看,也體現(xiàn)了一名技術(shù)管理者樂(lè)于分享的心意,這一點(diǎn)是最難得的。最后,讓我表達(dá)對(duì)新莊的敬意和謝意,感謝他對(duì)推動(dòng)中國(guó)的信息化建設(shè)和技術(shù)的普及所做出的貢獻(xiàn)!希望廣大的技術(shù)愛(ài)好者和技術(shù)管理者好好品味這些書籍,相信你們一定能從中獲益匪淺!IBM全球副總裁兼IBM軟件集團(tuán)大中華區(qū)總經(jīng)理胡世忠前言關(guān)于本書這些年我做數(shù)據(jù)庫(kù),深深感到,相對(duì)于Oracle數(shù)據(jù)庫(kù)而言,DB2技術(shù)書籍的匱乏,所以我一直想寫一套DB2方面的技術(shù)書籍,我也一直感覺(jué)到自己有義務(wù)和責(zé)任去寫一些東西來(lái)給大家分享,也算是對(duì)自己10年DB2學(xué)習(xí)、運(yùn)用經(jīng)驗(yàn)的總結(jié)吧!目前數(shù)據(jù)庫(kù)市場(chǎng)上雖然有Oracle、DB2、Informix、Sybase和SQL Server,但是Informix數(shù)據(jù)庫(kù)已經(jīng)被IBM收購(gòu),而Sybase數(shù)據(jù)庫(kù)在技術(shù)和市場(chǎng)上正走向沒(méi)落,那么剩下的其實(shí)就只有Oracle、DB2和SQL Server數(shù)據(jù)庫(kù)了。SQL Server數(shù)據(jù)庫(kù)非常好,但是很遺憾,它只能在Windows平臺(tái)使用,所以如果你深入研究SQL Server數(shù)據(jù)庫(kù),那么大多數(shù)情況下你只能做到養(yǎng)家糊口,因?yàn)樘拱椎卣f(shuō),用SQL Sever數(shù)據(jù)庫(kù)的大型企業(yè)通常是不多的。而國(guó)內(nèi)做Oracle數(shù)據(jù)庫(kù)的人太多了,如果你想在Oracle領(lǐng)域出人頭地,難度極大。DB2數(shù)據(jù)庫(kù)反而做的人不太多,物以稀為貴。DB2數(shù)據(jù)庫(kù)被廣泛應(yīng)用在銀行、電信、制造、零售、保險(xiǎn)等行業(yè),所以我強(qiáng)烈建議你學(xué)習(xí)DB2數(shù)據(jù)庫(kù),做IBM技術(shù)成功的概率會(huì)大一些。我們的時(shí)間和精力是有限的,所以必須選擇好方向,然后去努力。但是過(guò)去一直沒(méi)有時(shí)間,直到2008年奧運(yùn)保障期間,有了一些時(shí)間,我才寫了這套書。在這套書中,我把應(yīng)用開發(fā)和系統(tǒng)管理剝離開,分成兩條線來(lái)講解,包括循序漸進(jìn)DB2、高級(jí)進(jìn)階DB2、DB2性能調(diào)整和優(yōu)化這幾大塊。本書側(cè)重在數(shù)據(jù)庫(kù)的性能調(diào)優(yōu),而性能調(diào)優(yōu)是一個(gè)系統(tǒng)工程,全面監(jiān)控分析操作系統(tǒng)、I/O性能、內(nèi)存、應(yīng)用及數(shù)據(jù)庫(kù)才能快速找到問(wèn)題根源,深刻理解DB2的鎖及并發(fā)機(jī)制、索引原理、數(shù)據(jù)庫(kù)參數(shù)、優(yōu)化器原理、SQL語(yǔ)句調(diào)優(yōu)等內(nèi)部機(jī)理才能有針對(duì)性地快速提出解決問(wèn)題的方法,快照、db2pd、db2expln及事件監(jiān)控器等等則是必須熟練掌握的工具。本書正是覆蓋了性能調(diào)優(yōu)所需要的全部領(lǐng)域,并提供了大量的性能調(diào)優(yōu)的實(shí)際案例。本書系統(tǒng)性地總結(jié)了DB2數(shù)據(jù)庫(kù)性能調(diào)整的方法、流程、思路以及保持系統(tǒng)良好性能的注意要點(diǎn)。最后與讀者分享我10年來(lái)積累的DB2性能調(diào)優(yōu)案例和經(jīng)驗(yàn)總結(jié)。本書所講內(nèi)容適用于DB2V7、V8、V9.5、V9.7的所有平臺(tái)。本書第1版的出版已有3年時(shí)間,這期間收到了很多寶貴的意見反饋,第1版的成書也稍顯匆忙,回過(guò)頭來(lái)看確實(shí)發(fā)現(xiàn)有些細(xì)節(jié)是值得修改的。另外,IBM DB2LUW這一數(shù)據(jù)庫(kù)產(chǎn)品在這幾年也發(fā)生了很大的變化。從版本上:DB2V9.7成為主流版本,DB2V10.1也已經(jīng)于今年上半年發(fā)布,并且最新的FixPack已經(jīng)發(fā)布到了版本2。技術(shù)上更是一日千里:監(jiān)控技術(shù)、壓縮技術(shù)、分區(qū)技術(shù)、并發(fā)控制、性能提升等等各個(gè)方面無(wú)一不是變化顯著。尤其是purescale等創(chuàng)新型技術(shù)的出現(xiàn),大大改變了原有的技術(shù)架構(gòu)。當(dāng)然這對(duì)DBA提出了更多新的要求。同時(shí)在性能和調(diào)優(yōu)方面DB2也有了不小改進(jìn)和提升,并且增加了一些新的功能,在本次修訂中也務(wù)求在這些方面有所體現(xiàn)。本書的本次修訂涉及的內(nèi)容較多,合并了原有的第2和第3章為新的一章“操作系統(tǒng)及存儲(chǔ)的性能調(diào)優(yōu)”,對(duì)其他所有的章節(jié)也都做了大量的修改,有些章節(jié)的修改幅度很大,希望本次修訂能給各位讀者提供一些新的知識(shí)和經(jīng)驗(yàn)。關(guān)于數(shù)據(jù)庫(kù)學(xué)習(xí)“不經(jīng)一番寒徹骨,安得梅花撲鼻香”,這樣的道理人人都懂,可是能夠真正實(shí)施的人并不多。在現(xiàn)在的很多年輕人身上,我以為恰恰缺少的就是這樣的忘我與癡迷。在我熟悉的數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,很多年輕人越來(lái)越早就將注意力集中在薪水和職位上,開始變得浮躁,而我想說(shuō)的是,往往是那些將諸如高薪與職位忘懷的人反而能更快地抵達(dá)。在這里,我想講講我的技術(shù)學(xué)習(xí)之路,主要是想給大家一些參考,尤其是對(duì)在校學(xué)生而言,我希望我的學(xué)習(xí)之路能給你以啟迪。我在1999年剛剛開始念碩士時(shí)就給自己確定了以后的發(fā)展方向,當(dāng)時(shí)定了兩個(gè):網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù)。因?yàn)?000年時(shí),網(wǎng)絡(luò)特別火,能擁有CCNP、CCIE就特別牛,所以自己也考了CCNP證書,但是到后來(lái)我發(fā)現(xiàn)網(wǎng)絡(luò)牽涉很多硬件層面的東西,對(duì)廠商的依賴特別強(qiáng),而且面特別窄。所以慢慢就把這個(gè)方向放棄了。而我喜歡鉆研,所以我就選擇了數(shù)據(jù)庫(kù)技術(shù)。在確認(rèn)好數(shù)據(jù)庫(kù)這個(gè)方向后,我深入系統(tǒng)地學(xué)習(xí)了數(shù)據(jù)庫(kù)理論方方面面的知識(shí),我還記得人大王珊教授的那本《數(shù)據(jù)庫(kù)系統(tǒng)原理教程》,我讀了幾十遍,受益匪淺。在對(duì)數(shù)據(jù)庫(kù)理論學(xué)習(xí)的同時(shí),我也開始了對(duì)DB2和Oracle的深入學(xué)習(xí)。我是從1999年開始使用DB2V5.2的,那時(shí)因?yàn)槲覍?dǎo)師做一個(gè)課題需要用到DB2數(shù)據(jù)庫(kù)。那時(shí)市場(chǎng)上關(guān)于DB2方面的技術(shù)書籍幾乎沒(méi)有,互聯(lián)網(wǎng)還不像現(xiàn)在這么發(fā)達(dá),自己只能依靠查看DB2隨機(jī)文檔來(lái)學(xué)習(xí)。那時(shí),我用自己兼職幫別人做一些小軟件和課題賺的錢去考OCP認(rèn)證和DB2認(rèn)證。其實(shí)我認(rèn)為考認(rèn)證是一個(gè)很好的外界動(dòng)力來(lái)促使自己學(xué)習(xí),因?yàn)榭荚囆枰艽笠还P花費(fèi),所以不想浪費(fèi)錢的話就只能拼命地看書。那時(shí)讀研究生有的是時(shí)間,所以在2000年我就通過(guò)了OCP8i的認(rèn)證,后來(lái)又陸續(xù)通過(guò)了DB2V5.2的認(rèn)證,通過(guò)這些認(rèn)證大大增強(qiáng)了自己的自信。同時(shí),我?guī)蛯?dǎo)師做應(yīng)用程序的開發(fā)工作,那時(shí)用的是PB、Delphi等編程工具,在開發(fā)中我有意識(shí)地增強(qiáng)自己對(duì)SQL的學(xué)習(xí),這對(duì)我后來(lái)的性能調(diào)優(yōu)非常有幫助。因?yàn)楹芏鄷r(shí)候在客戶現(xiàn)場(chǎng)看到同樣的一個(gè)操作,本來(lái)在數(shù)據(jù)庫(kù)中利用函數(shù)或其他高級(jí)SQL也可以實(shí)現(xiàn)的,開發(fā)人員卻頻繁地在數(shù)據(jù)庫(kù)和應(yīng)用程序之間來(lái)回切換,殊不知,在過(guò)程層(程序)和數(shù)據(jù)庫(kù)層反復(fù)上下文切換交互會(huì)顯著影響應(yīng)用效率。所以,我們首先要有清晰的方向和規(guī)劃,然后有意識(shí)地朝這個(gè)方向去努力。做好一個(gè)時(shí)期的人生規(guī)劃非常重要,它是你努力的方向,因?yàn)榉e極的學(xué)習(xí)比被動(dòng)的學(xué)習(xí)效率要高太多。機(jī)遇偏愛(ài)有準(zhǔn)備的人,我記得2001年年初的時(shí)候,我在網(wǎng)上看到一個(gè)帖子說(shuō)要找一個(gè)有DB2認(rèn)證的人去安裝DB2數(shù)據(jù)庫(kù),差旅報(bào)銷,每天500元,我喜出望外,我有DB2系統(tǒng)管理、應(yīng)用開發(fā)的認(rèn)證,所以很快就通過(guò)了。但去了客戶現(xiàn)場(chǎng)以后才發(fā)現(xiàn)不是安裝,而是去給客戶講課,當(dāng)時(shí)我就傻眼了,因?yàn)橹v課遠(yuǎn)比安裝配置難得多,而我之前沒(méi)有講過(guò)課。沒(méi)辦法了,只能前一天夜里看教材備課到凌晨5點(diǎn),睡兩個(gè)小時(shí),8點(diǎn)半去講課,就這樣4天講課,我每天都是休息3小時(shí)左右。還好自己畢竟使用過(guò)DB2,而且也通過(guò)了DB2認(rèn)證,還是有基礎(chǔ)的,這次講課雖然不太成功,但是畢竟通過(guò)了,勉強(qiáng)可以打60分吧,沒(méi)想到這次培訓(xùn)竟是我以后幾年培訓(xùn)生涯的開始。經(jīng)過(guò)這次講課后,我也看到了自己的差距,知道僅僅擁有認(rèn)證是不行的,因?yàn)榭蛻魡?wèn)的很多問(wèn)題書本上是沒(méi)有的,還需要自己進(jìn)一步鉆研,因?yàn)槠匠?磿鴷r(shí)有些概念不太懂也不會(huì)去深入研究,但是講課時(shí)你就必須把這些原理概念弄清楚,所以這需要對(duì)數(shù)據(jù)庫(kù)更深入地進(jìn)行學(xué)習(xí)。后來(lái)經(jīng)過(guò)一些其他的渠道,IBM培訓(xùn)部知道我能講DB2并且有相關(guān)證書,就找我講DB2系列課程。所以從2001年開始我就經(jīng)常作為IBM官方講師講DB2系列的所有課程,其中我感覺(jué)到講課是個(gè)很好的學(xué)習(xí)過(guò)程,因?yàn)橐v清楚一些內(nèi)容,就必須自己先精通,這對(duì)提升自己有很大的幫助,我把課堂上學(xué)員問(wèn)的實(shí)際操作中的問(wèn)題深入地進(jìn)行研究,希望學(xué)員在我這里聽講3個(gè)小時(shí)要遠(yuǎn)遠(yuǎn)勝過(guò)自己看3個(gè)小時(shí)的書,要想給學(xué)生一杯水,那么老師至少應(yīng)該準(zhǔn)備一桶水。艱辛可想而知。所以,我在講課準(zhǔn)備過(guò)程中,精心準(zhǔn)備實(shí)例,課堂下深入和學(xué)員交流。爭(zhēng)取把一些難懂的概念用淺顯易懂的例子來(lái)闡述,所以這在客觀上促進(jìn)了自己的學(xué)習(xí)。隨著培訓(xùn)的增多,也有一些客戶找我去做一些實(shí)際的調(diào)優(yōu)工作,我記得我第一次去客戶現(xiàn)場(chǎng)調(diào)優(yōu)是2001年去大連大通證券,當(dāng)時(shí)主要解決鎖等待問(wèn)題??蛻舡h(huán)境用到了AIX和CICS環(huán)境。當(dāng)時(shí)雖然問(wèn)題解決了,但自己心中還是感覺(jué)到比較虛,因?yàn)閷?duì)AIX和CICS不了解,萬(wàn)一是這兩個(gè)方面有問(wèn)題,自己就沒(méi)辦法搞定了;同時(shí)認(rèn)識(shí)到復(fù)雜系統(tǒng)的調(diào)整往往不是單方面的,需要具備全面的知識(shí)。所以經(jīng)過(guò)這次事情后,我就在網(wǎng)上買了一個(gè)140的IBM工作站小機(jī),自己安裝AIX,開始學(xué)習(xí)AIX,在這個(gè)時(shí)期我一邊學(xué)習(xí),一邊把AIX的認(rèn)證全部過(guò)掉,我記得非常清楚,為了做HA的實(shí)驗(yàn)著實(shí)費(fèi)了很大的功夫,因?yàn)槟菚r(shí)無(wú)法搞到7133陣列,那時(shí)小型機(jī)不像今天這么普及。后來(lái)自己又學(xué)習(xí)了CICS、WebSphere、MQ和存儲(chǔ),所以我認(rèn)為有目的的學(xué)習(xí)、有壓力和有動(dòng)力的學(xué)習(xí)效率是非常高的。就這樣在我培訓(xùn)的過(guò)程中,我發(fā)現(xiàn)自己哪個(gè)方面薄弱并且這個(gè)方向有前途我就開始學(xué)習(xí),不過(guò)那個(gè)時(shí)候我的技術(shù)主要以IBM為主。由于自己對(duì)培訓(xùn)比較用心以及客戶的好評(píng),找我做培訓(xùn)的國(guó)內(nèi)培訓(xùn)機(jī)構(gòu)開始多起來(lái)。感覺(jué)到這個(gè)時(shí)期自己的技術(shù)水平增長(zhǎng)很快。2002年11月,我參加首屆“IBM DeveloperWorksLive! China2002”大會(huì)并獲得IBM首次在國(guó)內(nèi)評(píng)選的“杰出軟件技術(shù)專家”獎(jiǎng),在6名獲獎(jiǎng)?wù)咧忻械?。獲得這個(gè)認(rèn)證后客觀上對(duì)我有了很大的幫助,因?yàn)檎J(rèn)識(shí)我的人更多了,所以在2002至2003年是我技術(shù)提升最快的兩年,在這兩年我又陸續(xù)學(xué)習(xí)了HP-UX、WebSphere和MQ并通過(guò)了認(rèn)證。其實(shí)我有時(shí)感覺(jué)到如果你把一門技術(shù)研究得非常深、非常透之后,這時(shí)你再去學(xué)習(xí)另一門技術(shù)就會(huì)非常輕松了,因?yàn)榧夹g(shù)是相通的。我在學(xué)習(xí)完AIX后再去學(xué)習(xí)HP-UX就感覺(jué)非常輕松,同樣在學(xué)習(xí)Oracle和DB2后再去學(xué)習(xí)Informix感覺(jué)到很容易。通過(guò)這種縱向的深入和橫向的比較,你會(huì)思考它們的區(qū)別,你反而比較容易發(fā)現(xiàn)每一個(gè)產(chǎn)品的尺之所長(zhǎng)和寸之所短。就拿DB2來(lái)說(shuō),它每次版本更新后的新特性我基本上在新版本沒(méi)有出來(lái)之前就猜得差不多了,因?yàn)橐皇俏沂琴N近真實(shí)用戶的,了解他們的真實(shí)需求;二是自己一直在用,自己不斷地在總結(jié)思考;三是別的數(shù)據(jù)庫(kù)有,而DB2沒(méi)有,那么在下個(gè)版本中它肯定會(huì)增加。所以相對(duì)來(lái)說(shuō),對(duì)新版本中新特性的學(xué)習(xí)就非常輕松了。就DB2而言,我想我應(yīng)該是國(guó)內(nèi)擁有DB2認(rèn)證最多的人,我擁有DB2V5.2、V7.1、V8.1和DB2V9的全部認(rèn)證。我應(yīng)該是國(guó)內(nèi)第一個(gè)把DB2V8認(rèn)證全部通過(guò)的人,當(dāng)然這也是巧合,因?yàn)?003年3月非典原因我被困在深圳,在網(wǎng)上看到DB2V8認(rèn)證從4月1日開始考,就在前一天報(bào)名注冊(cè),第二天把DB2V8所有認(rèn)證(新特性、高級(jí)DBA、應(yīng)用開發(fā)、BI等)通過(guò)。2004至2005年是我最忙碌的兩年,那個(gè)時(shí)候找我講課的培訓(xùn)機(jī)構(gòu)以及性能調(diào)優(yōu)的客戶非常多,一年我基本上天天在天上飛(當(dāng)然學(xué)校導(dǎo)師那邊我是有辦法搞定的),培訓(xùn)機(jī)構(gòu)找我講課常常需要提前一個(gè)月的時(shí)間預(yù)約,那時(shí)除了過(guò)年在家待上幾天,其他時(shí)間都是在做培訓(xùn)和診斷調(diào)優(yōu)等,足跡踏遍國(guó)內(nèi)主要城市,只要時(shí)間不沖突,那時(shí)我基本上是國(guó)內(nèi)6大行開發(fā)中心和數(shù)據(jù)中心培訓(xùn)的指定老師,并為北京銀信科技、山東農(nóng)信、廣東農(nóng)信,交行大集中IBP等項(xiàng)目做數(shù)據(jù)庫(kù)技術(shù)顧問(wèn)。那時(shí)年輕很有精力,我記得有一次是2004年9月白天上午9點(diǎn),我為上海移動(dòng)IT部門做AIX動(dòng)態(tài)邏輯分區(qū)(DLPAR)的培訓(xùn);17點(diǎn),打車前往揚(yáng)州,20點(diǎn),到達(dá)揚(yáng)州供電局協(xié)助他們進(jìn)行電力負(fù)荷控制系統(tǒng)項(xiàng)目上線,徹夜奮戰(zhàn)到第二天凌晨3點(diǎn)半;然后連夜打的趕往上海,凌晨6點(diǎn),到達(dá)酒店;休息兩小時(shí),8點(diǎn)出發(fā),準(zhǔn)時(shí)出現(xiàn)在上海移動(dòng)培訓(xùn)現(xiàn)場(chǎng)。那時(shí)我對(duì)報(bào)酬不太在意,我想的是積累技術(shù)和客戶資源。就這樣不斷地對(duì)技術(shù)進(jìn)行學(xué)習(xí)、鉆研、思考、提高,以及不斷地向上成長(zhǎng)和孜孜不倦的探索過(guò)程。我一步步成長(zhǎng)起來(lái),在很長(zhǎng)一段時(shí)間內(nèi),我不斷奔波于國(guó)內(nèi)的各個(gè)城市,不計(jì)較出差、也不計(jì)較報(bào)酬,在我看來(lái)能夠不斷通過(guò)實(shí)踐讓自己成長(zhǎng)才是第一要義。而且去的客戶現(xiàn)場(chǎng)越多,處理的問(wèn)題越多,就越發(fā)現(xiàn)自己的不足,然后再拼命地學(xué)習(xí),不斷地積累、總結(jié)和思考,這樣就進(jìn)入了一個(gè)良性循環(huán),至今我仍然懷念那充實(shí)、緊張和充滿激情的黃金年代。2004年和2005年,我分別在上海、北京注冊(cè)了公司。一方面因?yàn)橐元?dú)立咨詢顧問(wèn)的個(gè)人身份無(wú)法出具發(fā)票;另一方面,隨著項(xiàng)目越做越大,尤其是很多銀行的數(shù)據(jù)庫(kù)架構(gòu)和維護(hù)項(xiàng)目涉及合同金額也越來(lái)越大,需要簽訂合同,以公司的身份來(lái)簽合同更加合適。當(dāng)然這些年并非所有都是一帆風(fēng)順,也犯過(guò)一些重大錯(cuò)誤。例如,我曾經(jīng)在2002年5月1日把某機(jī)場(chǎng)的數(shù)據(jù)庫(kù)調(diào)死,導(dǎo)致機(jī)場(chǎng)航班信息管理系統(tǒng)癱瘓。在早期也曾經(jīng)把某證券系統(tǒng)因?yàn)檎{(diào)整而宕機(jī),這些都對(duì)客戶造成了重大影響,同時(shí)也讓我思考總結(jié)自己的不足。也許這是成長(zhǎng)必須要走的路,所以經(jīng)過(guò)這兩次事情之后,我之后的調(diào)優(yōu)基本上沒(méi)有犯過(guò)錯(cuò)誤。所以,結(jié)合我的學(xué)習(xí)經(jīng)驗(yàn)與感悟,有16個(gè)字送給即將進(jìn)入這一領(lǐng)域的讀者:去除浮躁,認(rèn)真學(xué)習(xí),不斷積累,尋找機(jī)遇。古之成大事者,不唯有超世之才,亦唯有堅(jiān)忍不拔之志也!——最后用這句話與大家共勉

內(nèi)容概要

本書側(cè)重于介紹DB2數(shù)據(jù)庫(kù)的性能調(diào)優(yōu)。性能調(diào)優(yōu)是一個(gè)系統(tǒng)工程:全面監(jiān)控分析操作系統(tǒng)、I/O性能、內(nèi)存、應(yīng)用及數(shù)據(jù)庫(kù)才能快速找到問(wèn)題根源;深刻理解DB2的鎖及并發(fā)機(jī)制、索引原理、數(shù)據(jù)庫(kù)參數(shù)、優(yōu)化器原理、SQL語(yǔ)句調(diào)優(yōu)等內(nèi)部機(jī)理才能針對(duì)性地快速提出解決問(wèn)題的方法;快照、db2pd、db2expln及事件監(jiān)控器等則是必須熟練掌握的工具。這本書覆蓋了進(jìn)行DB2數(shù)據(jù)庫(kù)性能調(diào)優(yōu)所需的全部知識(shí)和工具,并提供了大量的性能調(diào)優(yōu)的實(shí)際案例。
本書系統(tǒng)性地總結(jié)了DB2數(shù)據(jù)庫(kù)性能調(diào)整的方法、流程、思路和保持系統(tǒng)良好性能的注意要點(diǎn)。最難得的是作者分享了其10年積累的DB2性能調(diào)優(yōu)案例和經(jīng)驗(yàn)總結(jié)。

作者簡(jiǎn)介

牛新莊,國(guó)內(nèi)頂尖數(shù)據(jù)架構(gòu)和信息治理專家,擔(dān)任對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué)客座教授、北京交通大學(xué)兼職教授、中國(guó)DB2用戶協(xié)會(huì)(CDUG)理事長(zhǎng)、亞洲金融合作聯(lián)盟信息科技委員會(huì)主任。2008年曾以217萬(wàn)年薪受聘于中國(guó)建設(shè)銀行總行特聘技術(shù)顧問(wèn),2009年受邀加入中國(guó)民生銀行總行科技部,現(xiàn)任總行科技部總經(jīng)理。牛新莊博士擁有20多項(xiàng)國(guó)際廠商認(rèn)證(包括DB2V5~V9的全部認(rèn)證),獲得過(guò)國(guó)內(nèi)數(shù)據(jù)庫(kù)領(lǐng)域最高榮譽(yù)的“2006年中國(guó)首屆杰出數(shù)據(jù)庫(kù)工程師獎(jiǎng)”、“首屆IBM杰出軟件專家獎(jiǎng)”、“2006年IT168技術(shù)卓越獎(jiǎng)”等獎(jiǎng)項(xiàng)。

書籍目錄

第1章 性能調(diào)整概述11.1 性能概述21.2 性能評(píng)估41.3 建立性能目標(biāo)71.4 什么時(shí)候需要做性能調(diào)整81.5 性能調(diào)整準(zhǔn)則91.6 性能調(diào)整的方法和過(guò)程101.6.1 性能調(diào)整的步驟101.6.2 性能調(diào)整的限制111.6.3 向客戶了解情況111.6.4 性能調(diào)整流程圖121.7 性能模型151.7.1 輸入171.7.2 處理171.7.3 輸出231.8 本章小結(jié)24第2章 操作系統(tǒng)及存儲(chǔ)的性能調(diào)優(yōu)272.1 AIX性能監(jiān)控綜述292.1.1 監(jiān)控工具292.1.2 監(jiān)控系統(tǒng)總體運(yùn)行狀態(tài)302.1.3 監(jiān)控CPU性能342.1.4 監(jiān)控內(nèi)存使用382.1.5 監(jiān)控存儲(chǔ)系統(tǒng)狀態(tài)402.1.6 監(jiān)控網(wǎng)絡(luò)狀態(tài)422.2 操作系統(tǒng)性能優(yōu)化432.2.1 直接I/O和并發(fā)I/O442.2.2 異步I/O和同步I/O452.2.3 minpout和maxpout472.2.4 文件系統(tǒng)和裸設(shè)備472.2.5 負(fù)載均衡及條帶化(Striping)482.3 邏輯卷和lvmo優(yōu)化532.3.1 使用lvmo進(jìn)行優(yōu)化542.3.2 卷組pbuf池552.3.3 pbuf設(shè)置不合理導(dǎo)致性能問(wèn)題調(diào)整案例562.3.4 使用ioo進(jìn)行優(yōu)化602.4 操作系統(tǒng)性能調(diào)整總結(jié)652.5 存儲(chǔ)I/O設(shè)計(jì)652.6 存儲(chǔ)基本概念652.6.1 硬盤652.6.2 磁盤陣列技術(shù)672.6.3 存儲(chǔ)的Cache672.6.4 網(wǎng)絡(luò)存儲(chǔ)技術(shù)682.7 存儲(chǔ)架構(gòu)692.7.1 存儲(chǔ)I/O處理過(guò)程692.7.2 RAID IOPS702.7.3 RAID10和RAID5的比較712.8 良好存儲(chǔ)規(guī)劃的目標(biāo)742.9 良好存儲(chǔ)規(guī)劃的設(shè)計(jì)原則752.10 存儲(chǔ)相關(guān)性能調(diào)整案例762.11 存儲(chǔ)I/O性能調(diào)整總結(jié)792.12 本章小結(jié)80第3章 DB2性能監(jiān)控813.1 快照監(jiān)視器案例813.1.1 監(jiān)控動(dòng)態(tài)SQL語(yǔ)句813.1.2 監(jiān)控臨時(shí)表空間使用843.2 事件監(jiān)視器及監(jiān)控案例873.3 利用表函數(shù)監(jiān)控933.4 性能管理視圖及案例993.4.1 監(jiān)控緩沖池命中率1003.4.2 監(jiān)控Package Cache大小1013.4.3 監(jiān)控執(zhí)行成本最高的SQL語(yǔ)句1023.4.4 監(jiān)控運(yùn)行時(shí)間最長(zhǎng)的SQL語(yǔ)句1023.4.5 監(jiān)控SQL準(zhǔn)備和預(yù)編譯時(shí)間最長(zhǎng)的SQL語(yǔ)句1033.4.6 監(jiān)控執(zhí)行次數(shù)最多的SQL語(yǔ)句1033.4.7 監(jiān)控排序次數(shù)最多的SQL語(yǔ)句1043.4.8 監(jiān)控鎖等待時(shí)間1043.4.9 監(jiān)控Lock Chain1053.4.10 監(jiān)控鎖內(nèi)存的使用1083.4.11 監(jiān)控鎖升級(jí)、死鎖和鎖超時(shí)1083.4.12 監(jiān)控全表掃描的SQL1093.4.13 檢查頁(yè)清理器是否足夠1103.4.14 監(jiān)控prefecher是否足夠1103.4.15 監(jiān)控?cái)?shù)據(jù)庫(kù)內(nèi)存使用1113.4.16 監(jiān)控日志使用情況1123.4.17 監(jiān)控占用日志空間最舊的事務(wù)1123.4.18 監(jiān)控存儲(chǔ)路徑1133.4.19 追蹤監(jiān)控歷史1143.5 db2pd1143.5.1 常用db2pd監(jiān)控選項(xiàng)和示例1153.5.2 使用db2pd監(jiān)控死鎖案例1273.5.3 db2pd使用問(wèn)題總結(jié)1323.6 內(nèi)存監(jiān)控1343.6.1 db2pd 內(nèi)存監(jiān)控1343.6.2 db2mtrk 內(nèi)存監(jiān)控1383.7 本章小結(jié)140第4章 DB2配置參數(shù)調(diào)整1414.1 初識(shí)DB2配置參數(shù)1414.2 監(jiān)控和調(diào)優(yōu)實(shí)例級(jí)(DBM)配置參數(shù)1434.2.1 代理程序相關(guān)配置參數(shù)1434.2.2 sheapthres1464.2.3 fcm_num_buffers1464.2.4 sheapthres_shr1474.2.5 intra_parallel1474.2.6 mon_heap_sz1484.2.7 query_heap_sz1484.3 監(jiān)控和調(diào)優(yōu)數(shù)據(jù)庫(kù)級(jí)配置參數(shù)1484.3.1 緩沖池大小1494.3.2 日志緩沖區(qū)大?。╨ogbufsz)1554.3.3 應(yīng)用程序堆大小(applheapsz)1564.3.4 sortheap和sheapthres_shr1574.3.5 鎖相關(guān)配置參數(shù)1594.3.6 活動(dòng)應(yīng)用程序的最大數(shù)目(maxappls)1634.3.7 pckcachesz1634.3.8 catalogcache_sz1644.3.9 異步頁(yè)清除程序的數(shù)目(num_iocleaners)1644.3.10 異步I/O服務(wù)器的數(shù)目(num_ioservers)1664.3.11 組提交數(shù)目(mincommit)1664.3.12 avg_appls1684.3.13 chngpgs_thresh(DB)1684.3.14 maxfilop1694.3.15 logprimary、logsecond和logfilsz1694.3.16 stmtheap1704.3.17 dft_queryopt1704.3.18 util_heap_sz (DB)1704.4 調(diào)整DB2概要注冊(cè)變量1704.4.1 db2_parallel_io1714.4.2 db2_evaluncommitted1734.4.3 db2_skipdeleted1734.4.4 db2_skipinserted1734.4.5 db2_use_page_container_tag1734.4.6 db2_selectivity1734.4.7 db2_logger_non_buffered_io1744.5 內(nèi)存自動(dòng)調(diào)優(yōu)1744.5.1 內(nèi)存自動(dòng)調(diào)優(yōu)示例1754.5.2 啟用內(nèi)存自動(dòng)調(diào)優(yōu)及相關(guān)參數(shù)1764.5.3 內(nèi)存配置參數(shù)的配置原則1784.6 本章小結(jié)179第5章 高級(jí)鎖與優(yōu)化1815.1 隔離級(jí)別與鎖1815.1.1 可重復(fù)讀(RR-Repeatable Read)1825.1.2 讀穩(wěn)定性(RS-Read Stability)1845.1.3 游標(biāo)穩(wěn)定性(CS-Cursor Stability)1865.1.4 當(dāng)前提交(Currently Committed)1885.1.5 未提交讀(UR-Uncommitted Read)1905.1.6 隔離級(jí)別總結(jié)1935.2 加鎖總結(jié)1955.2.1 如何獲取鎖1955.2.2 意圖鎖和非意圖鎖1965.2.3 讀鎖和寫鎖1975.2.4 LRB(Lock Resource Block)1975.2.5 USE AND KEEP LOCKS1985.2.6 索引類型和下一鍵鎖1995.2.7 掃描方式與加鎖2015.3 樂(lè)觀鎖2045.3.1 悲觀鎖和樂(lè)觀鎖2045.3.2 DB2 V9.5中的樂(lè)觀鎖2055.3.3 樂(lè)觀鎖應(yīng)用案例2125.4 內(nèi)部鎖2215.4.1 內(nèi)部方案鎖(Internal Plan Lock)2215.4.2 內(nèi)部V鎖(Internal Variation Lock)2225.4.3 內(nèi)部S鎖2235.4.4 內(nèi)部C鎖2245.4.5 其他內(nèi)部鎖2255.5 鎖等待及調(diào)整案例2285.5.1 鎖等待問(wèn)題解決流程和步驟2285.5.2 捕獲引起鎖等待的SQL語(yǔ)句2305.5.3 利用db2pd捕獲鎖超時(shí)2335.5.4 利用事件監(jiān)視器捕獲鎖超時(shí)2365.6 鎖升級(jí)及調(diào)整案例2385.6.1 監(jiān)控鎖升級(jí)2395.6.2 鎖升級(jí)調(diào)整2395.7 死鎖及調(diào)整案例2415.7.1 利用事件監(jiān)視器監(jiān)控死鎖2425.7.2 死鎖案例2435.7.3 最小化死鎖建議2465.8 最大化并發(fā)性2465.8.1 選擇合適的隔離級(jí)別2465.8.2 盡量避免鎖等待、鎖升級(jí)和死鎖2465.8.3 設(shè)置合理的注冊(cè)表變量2475.9 鎖相關(guān)的性能問(wèn)題總結(jié)2555.10 鎖與應(yīng)用程序開發(fā)2565.11 本章小結(jié)259第6章 索引設(shè)計(jì)與優(yōu)化2616.1 索引概念2616.1.1 索引優(yōu)點(diǎn)2616.1.2 索引類型2636.2 索引結(jié)構(gòu)2636.3 理解索引訪問(wèn)機(jī)制2666.4 索引設(shè)計(jì)2696.4.1 創(chuàng)建索引2696.4.2 創(chuàng)建集群索引2706.4.3 創(chuàng)建雙向索引2716.4.4 完全索引訪問(wèn)2726.4.5 與創(chuàng)建索引相關(guān)的問(wèn)題2736.4.6 創(chuàng)建索引示例2736.5 索引創(chuàng)建原則與示例2746.5.1 索引與謂詞2746.5.2 根據(jù)查詢使用的列建立索引2766.5.3 根據(jù)條件語(yǔ)句中謂詞的選擇度創(chuàng)建索引2776.5.4 避免在建有索引的列上使用函數(shù)2786.5.5 在那些需要被排序的列上創(chuàng)建索引2786.5.6 合理使用INCLUDE關(guān)鍵詞創(chuàng)建索引2806.5.7 指定索引的排序?qū)傩?816.6 影響索引性能的相關(guān)配置2826.6.1 設(shè)置影響索引性能的配置參數(shù)2826.6.2 為索引指定不同的表空間2826.6.3 確保索引的集群度2836.6.4 使表和索引統(tǒng)計(jì)信息保持最新2836.6.5 重組索引2836.7 索引維護(hù)2846.7.1 異步索引清除(AIC)2856.7.2 聯(lián)機(jī)索引整理碎片2876.7.3 查找使用率低下的索引2876.7.4 索引壓縮2896.8 DB2 Design Advisor(db2advis)2896.9 本章小結(jié)293第7章 DB2優(yōu)化器2997.1 DB2優(yōu)化器介紹3007.2 SQL語(yǔ)句執(zhí)行過(guò)程3027.3 優(yōu)化器組件和工作原理3047.3.1 查詢重寫示例:謂詞移動(dòng)合并和轉(zhuǎn)換3057.3.2 優(yōu)化器成本評(píng)估3107.3.3 本地謂詞基數(shù)(cardinality)估計(jì)3117.3.4 連接基數(shù)(cardinality)估計(jì)3137.3.5 分布統(tǒng)計(jì)信息3177.3.6 列組統(tǒng)計(jì)信息對(duì)基數(shù)的影響3217.4 掃描方式3307.4.1 全表掃描3317.4.2 索引掃描3317.4.3 RID SCAN3347.5 連接方法3357.5.1 嵌套循環(huán)連接3367.5.2 合并連接3387.5.3 哈希連接3397.5.4 選擇最佳連接的策略3407.6 優(yōu)化級(jí)別3407.6.1 優(yōu)化級(jí)別概述3417.6.2 選擇優(yōu)化級(jí)別3447.6.3 設(shè)置優(yōu)化級(jí)別3457.7 基于規(guī)則的優(yōu)化3477.7.1 優(yōu)化器概要文件概述3477.7.2 啟用優(yōu)化概要文件3497.7.3 優(yōu)化概要文件使用示例3507.8 如何影響優(yōu)化器來(lái)提高性能3577.8.1 使DB2統(tǒng)計(jì)信息保持最新3577.8.2 構(gòu)建適當(dāng)?shù)乃饕?577.8.3 配置合理的數(shù)據(jù)庫(kù)配置參數(shù)3587.8.4 選擇合適的優(yōu)化級(jí)別3597.8.5 合理的存儲(chǔ)I/O設(shè)計(jì)3597.8.6 良好的應(yīng)用程序設(shè)計(jì)和編碼3607.9 本章小結(jié)363第8章 統(tǒng)計(jì)信息更新與碎片整理3658.1 統(tǒng)計(jì)信息更新3658.1.1 統(tǒng)計(jì)信息的重要性3658.1.2 統(tǒng)計(jì)信息更新示例3698.1.3 LIKE STATISTICS統(tǒng)計(jì)信息更新3728.1.4 列組統(tǒng)計(jì)信息更新3748.1.5 分布統(tǒng)計(jì)信息更新3838.1.6 統(tǒng)計(jì)信息更新策略3898.2 自動(dòng)統(tǒng)計(jì)信息更新3918.2.1 自動(dòng)RUNSTATS的基本概念3918.2.2 如何打開auto runstats3938.2.3 如何監(jiān)控auto runstats3958.2.4 DB2 V10新特性——自動(dòng)收集統(tǒng)計(jì)視圖的統(tǒng)計(jì)信息3968.3 碎片整理3978.3.1 碎片產(chǎn)生機(jī)制和影響3978.3.2 確定何時(shí)重組表和索引3988.3.3 執(zhí)行表、索引檢查是否需要做REORG4018.3.4 REORG的用法和使用策略4028.4 重新綁定程序包4058.5 本章小結(jié)407第9章 SQL語(yǔ)句調(diào)優(yōu)4099.1 通過(guò)監(jiān)控找出最消耗資源的SQL語(yǔ)句4099.2 通過(guò)解釋工具分析SQL語(yǔ)句執(zhí)行計(jì)劃4109.2.1 解釋表4119.2.2 Visual Explain(可視化解釋)4129.2.3 db2expln4199.2.4 db2exfmt4229.2.5 各種解釋工具的比較4249.2.6 如何從解釋信息中獲取有價(jià)值的建議4249.3 理解SQL語(yǔ)句如何工作4259.3.1 理解謂詞類型4259.3.2 排序和分組4289.3.3 連接方法4309.3.4 掃描方式4319.4 SQL調(diào)優(yōu)案例4319.4.1 盡量使用單條語(yǔ)句完成邏輯4319.4.2 合理使用NOT IN和NOT EXISTS4329.4.3 利用子查詢進(jìn)行優(yōu)化4349.4.4 調(diào)整表連接順序使JOIN最優(yōu)4369.4.5 數(shù)據(jù)非均勻分布時(shí)手工指定選擇性4379.4.6 使用UDF代替查詢中的復(fù)雜部分4389.4.7 合并多條SQL語(yǔ)句到單個(gè)SQL表達(dá)式4399.4.8 使用SQL一次處理一個(gè)集合語(yǔ)義4409.4.9 在無(wú)副作用的情況下使用SQL函數(shù)4429.4.10 小結(jié)4439.5 提高應(yīng)用程序性能4439.5.1 良好的SQL編碼規(guī)則4439.5.2 提高SQL編程性能4459.5.3 改進(jìn)游標(biāo)性能4479.5.4 根據(jù)業(yè)務(wù)邏輯選擇最低粒度的隔離級(jí)別4489.5.5 通過(guò)REOPT綁定選項(xiàng)來(lái)提高性能4489.5.6 統(tǒng)計(jì)信息、碎片整理和重新綁定4499.5.7 避免不必要的排序4499.5.8 在C/S環(huán)境中利用SQL存儲(chǔ)過(guò)程降低網(wǎng)絡(luò)開銷4509.5.9 在高并發(fā)環(huán)境下使用連接池4509.5.10 使用Design Advisor(db2advis)建議索引4509.5.11 提高批量刪除、插入和更新速度4519.5.12 提高插入性能4519.5.13 高效的SELECT語(yǔ)句4529.6 高性能SQL語(yǔ)句注意事項(xiàng)4539.6.1 避免在搜索條件中使用復(fù)雜的表達(dá)式4539.6.2 將 OPTIMIZE FOR n ROWS子句與FETCH FIRST n ROWS ONLY子句配合使用4549.6.3 避免使用冗余的謂詞4549.6.4 避免使用多個(gè)帶有DISTINCT關(guān)鍵字的聚集操作4559.6.5 避免連接列之間數(shù)據(jù)類型不匹配4569.6.6 避免對(duì)表達(dá)式使用連接謂詞4569.6.7 避免在謂詞中使用空操作表達(dá)式來(lái)更改優(yōu)化器估算4569.6.8 確保查詢符合星型模式連接的必需條件4579.6.9 避免使用非等式連接謂詞4589.6.10 避免使用不必要的外連接4599.6.11 使用參數(shù)標(biāo)記來(lái)縮短動(dòng)態(tài)查詢的編譯時(shí)間4599.6.12 使用約束來(lái)提高查詢優(yōu)化程度4609.7 本章小結(jié)461第10章 DB2調(diào)優(yōu)案例、問(wèn)題總結(jié)和技巧46310.1 調(diào)優(yōu)案例1:某移動(dòng)公司存儲(chǔ)設(shè)計(jì)不當(dāng)和SQL引起的I/O瓶頸46310.2 調(diào)優(yōu)案例2:某銀行知識(shí)庫(kù)系統(tǒng)鎖等待、鎖升級(jí)引起性能瓶頸47010.3 調(diào)優(yōu)案例3:某汽車制造商ERP系統(tǒng)通過(guò)調(diào)整統(tǒng)計(jì)信息提高性能47810.4 調(diào)優(yōu)案例4:某農(nóng)信社批量代收電費(fèi)批處理慢調(diào)優(yōu)案例48810.5 調(diào)優(yōu)案例5:某銀行系統(tǒng)SQL執(zhí)行慢,通過(guò)跟蹤信息獲取調(diào)整信息49210.6 調(diào)優(yōu)案例6:某銀行系統(tǒng)字段類型定義錯(cuò)誤導(dǎo)致SQL執(zhí)行時(shí)間變長(zhǎng)49510.7 調(diào)優(yōu)學(xué)習(xí)案例:利用壓力測(cè)試程序?qū)W習(xí)DB2調(diào)優(yōu)498

編輯推薦

《DB2數(shù)據(jù)庫(kù)性能調(diào)整和優(yōu)化(第2版)》編輯推薦:國(guó)內(nèi)最權(quán)威的DB2圖書,由業(yè)界領(lǐng)軍人物牛新莊博士執(zhí)筆。針對(duì)DB2技術(shù)的最新發(fā)展和上一版的讀者反饋,對(duì)全書內(nèi)容和章節(jié)安排做了更新,更加貼近實(shí)用。DB2從業(yè)人員的必備案頭書。

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    DB2數(shù)據(jù)庫(kù)性能調(diào)整和優(yōu)化(第2版) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7