基于成本的Oracle優(yōu)化法則

出版時(shí)間:2007年7月  出版社:清華大學(xué)出版社  作者:Jonathan Lewis  頁(yè)數(shù):435  譯者:趙恒,李政儀  
Tag標(biāo)簽:無(wú)  

內(nèi)容概要

  《基于成本的Oracle優(yōu)化法則》數(shù)據(jù)庫(kù)領(lǐng)域的超級(jí)暢銷書,世界級(jí)0racle大師 Jonathan Lewis的最新力作,也是近幾年來(lái)Oracle領(lǐng)域最重要的著作之一,榮獲2006年度Oracle雜志編輯選擇大獎(jiǎng):自該書出版以來(lái),受到無(wú)數(shù)讀者、網(wǎng)友和專家的好評(píng),被翻譯成多種語(yǔ)言,成為眾多中高級(jí)Oracle用戶、DBA和開(kāi)發(fā)人員的必看圖書。

作者簡(jiǎn)介

作者:(美國(guó))劉易斯

書籍目錄

目    錄 第1章  成本的含義	11.1  優(yōu)化器選項(xiàng)	21.2  成本的定義	31.3  變換和成本計(jì)算	51.4  所見(jiàn)未必即所得	81.5  本章小結(jié)	81.6  測(cè)試用例	8第2章  表掃描	92.1  入門	102.2  提高	142.2.1  塊大小的影響	142.2.2  CPU成本計(jì)算	162.2.3  CPU成本計(jì)算的作用	222.3  BCHR	242.4  并行執(zhí)行	272.5  索引快速全掃描	302.6  分區(qū)	322.7  本章小結(jié)	372.8  測(cè)試用例	37第3章  單表選擇率	393.1  入門	403.2  空值	423.3  使用列表	433.4  區(qū)間謂詞	483.5  雙謂詞	523.6  多謂詞的相關(guān)問(wèn)題	543.7  本章小結(jié)	563.8  測(cè)試用例	57第4章  簡(jiǎn)單B樹(shù)訪問(wèn)	594.1  索引成本計(jì)算的基礎(chǔ)知識(shí)	604.2  入門	614.2.1  有效索引選擇率	634.2.2  有效表選擇率	644.2.3  clustering_factor	654.2.4  綜合計(jì)算	674.2.5  擴(kuò)展算法	684.2.6  3個(gè)選擇率	744.3  CPU成本計(jì)算	784.4  待處理的零碎問(wèn)題	804.5  本章小結(jié)	814.6  測(cè)試用例	81第5章  群集因子	835.1  基本示例	845.1.1  減少表爭(zhēng)用(多個(gè)自由列表)	865.1.2  減少葉塊的爭(zhēng)用(反轉(zhuǎn)鍵索引,ReverseKey Index)	895.1.3  減少表的爭(zhēng)用(ASSM)	925.1.4  減少RAC中的爭(zhēng)用(自由列表群)	955.2  列順序	965.3  額外的列	995.4  校正統(tǒng)計(jì)信息	1015.4.1  sys_op_countchg()技術(shù)	1015.4.2  非正式策略	1055.5  待處理的零碎問(wèn)題	1065.6  本章小結(jié)	1075.7  測(cè)試用例	107第6章  選擇率的相關(guān)問(wèn)題	1096.1  不同的數(shù)據(jù)類型	1106.1.1  日期類型	1106.1.2  字符類型	1106.1.3  愚蠢的數(shù)據(jù)類型	1126.2  前導(dǎo)零	1166.3  致命的默認(rèn)值	1176.4  離散數(shù)據(jù)的風(fēng)險(xiǎn)	1196.5  令人驚奇的sysdate	1236.6  函數(shù)表示	1256.7  相互關(guān)聯(lián)的列	1266.7.1  動(dòng)態(tài)采樣	1296.7.2  優(yōu)化器配置文件	1326.8  傳遞閉包	1336.9  產(chǎn)生約束的謂詞	1366.10  本章小結(jié)	1396.11  測(cè)試用例	139第7章  直方圖	1417.1  入門	1427.2  普通直方圖	1477.2.1  直方圖和綁定變量	1477.2.2  Oracle何時(shí)忽略直方圖	1497.3  頻率直方圖	1527.3.1  偽造頻率直方圖	1557.3.2  注意事項(xiàng)	1567.4  “高度均衡”直方圖	1577.5  重新審視數(shù)據(jù)問(wèn)題	1637.5.1  愚蠢的數(shù)據(jù)類型	1637.5.2  危險(xiǎn)的默認(rèn)值	1667.6  本章小結(jié)	1677.7  測(cè)試用例	168第8章  位圖索引	1698.1  入門	1708.1.1  索引組件	1748.1.2  表組件	1758.2  位圖合并	1778.2.1  較低的基數(shù)	1798.2.2  空值列	1828.3  CPU成本計(jì)算	1858.4  一些有趣的示例	1868.4.1  多列索引	1878.4.2  位圖連接索引	1878.4.3  位圖轉(zhuǎn)換	1888.5  本章小結(jié)	1918.6  測(cè)試用例	192第9章  查詢變換	1939.1  入門	1949.2  過(guò)濾	1979.2.1  過(guò)濾優(yōu)化	2009.2.2  標(biāo)量子查詢	2029.2.3  子查詢分解	2089.2.4  復(fù)雜視圖合并	2139.2.5  推入謂詞	2159.3  一般子查詢	2169.3.1  子查詢參數(shù)	2189.3.2  分類	2199.3.3  半連接	2249.3.4  反連接	2269.3.5  反連接異常	2289.3.6  Null和Notin	2299.3.7  有序提示	2319.4  星型變換連接	2329.5  星型連接	2379.6  展望	2399.7  本章小結(jié)	2409.8  測(cè)試用例	241第10章  連接基數(shù)	24310.1  基本的連接基數(shù)	24410.2  實(shí)際SQL的連接基數(shù)	24910.3  擴(kuò)展和異常情況	25210.3.1  使用范圍的連接	25210.3.2  不等于	25310.3.3  重疊	25610.3.4  直方圖	25710.3.5  傳遞閉包	26010.4  三表連接	26410.5  空值	26710.6  實(shí)現(xiàn)問(wèn)題	27010.7  困難之處	27410.8  特性	27610.9  另一觀點(diǎn)	27810.10  本章小結(jié)	27910.11  測(cè)試用例	279第11章  嵌套循環(huán)	28111.1  基本機(jī)制	28211.2  實(shí)際示例	28611.3  完備性檢查	28711.4  本章小結(jié)	29111.5  測(cè)試用例	291第12章  散列連接	29312.1  入門	29412.1.1  最優(yōu)散列連接	29712.1.2  一遍散列連接	29912.1.3  多遍散列連接	30412.2  追蹤文件	30812.2.1  event 10104	30812.2.2  event 10053	30912.3  難點(diǎn)	31112.3.1  傳統(tǒng)成本計(jì)算	31112.3.2  現(xiàn)代成本計(jì)算	31212.4  比較	31312.5  多表連接	31812.6  本章小結(jié)	32112.7  測(cè)試用例	321第13章  排序與歸并連接	32313.1  入門	32413.1.1  內(nèi)存的使用	32913.1.2  CPU的使用	33013.1.3  sort_area_retained_size	33313.1.4  pga_aggregate_target	33413.1.5  實(shí)際I/O	33713.2  排序的成本	33913.3  比較	34313.4  歸并連接	34613.4.1  歸并機(jī)制	34713.4.2  無(wú)最初排序的歸并連接	35113.4.3  笛卡爾歸并連接	35213.5  聚集及其他	35413.5.1  索引	35813.5.2  集合運(yùn)算	35913.6  最后一次提醒	36313.7  本章小結(jié)	36513.8  測(cè)試用例	366第14章  10053 trace文件	36714.1  查詢	36814.2  執(zhí)行計(jì)劃	36914.3  環(huán)境	37014.4  追蹤文件	37114.4.1  參數(shù)設(shè)置	37214.4.2  查詢塊	37514.4.3  存儲(chǔ)統(tǒng)計(jì)信息	37614.4.4  單表	37814.4.5  完備性檢查	37914.4.6  一般計(jì)劃	38014.4.7  Join order[1]	38014.4.8  Join order[2]	38614.4.9  Join order[3]	38714.4.10  Join order[4]	38814.4.11  Join order[5]	38814.4.12  Join order[6]	39214.4.13  Join order[7]	39214.4.14  Join order[8]	39514.4.15  Join order[9]	39714.4.16  Join order[10]	39814.4.17  Join order[11]	39814.4.18  Join order[12]	40114.4.19  Join order[13]	40414.4.20  Join order[14]	40514.4.21  Join order[15]	40614.4.22  Join order[16]	40714.4.23  Join order[17]	40714.4.24  Join order[18]	40914.5  連接評(píng)估小結(jié)	41014.6  測(cè)試用例	413附錄A  升級(jí)問(wèn)題	415A.1  dbms_stats	416A.2  頻率直方圖	417A.3  CPU成本計(jì)算	417A.4  舍入誤差	417A.5  綁定變量窺視	418A.6  連接間的空值	418A.7  B樹(shù)到位圖的轉(zhuǎn)換	418A.8  索引跳躍掃描	419A.9  AND-Equal	419A.10  索引散列連接	420A.11  修正的In-List	420A.12  傳遞閉包	420A.13  sysdate算術(shù)修正	421A.14  對(duì)空值的索引	422A.15  pga_aggregate_target	422A.16  排序	422A.17  分組	423A.18  完備性檢查	423A.19  超出界限的情況	423A.20  關(guān)于類型	423A.21  optimizer_mode	424A.22  降序索引	424A.23  復(fù)雜視圖合并	424A.24  非嵌套子查詢	424A.25  標(biāo)量和過(guò)濾子查詢	425A.26  并行查詢策略的兩次變化	425A.27  動(dòng)態(tài)采樣	425A.28  臨時(shí)表	425A.29  字典統(tǒng)計(jì)	426附錄B  優(yōu)化器參數(shù)	427B.1  optimizer_features_enable	428B.2  10053 trace文件	430B.3  v$sql_optimizer_env	435

媒體關(guān)注與評(píng)論

前言前    言我在Practical Oracle 8i一書的前言中曾經(jīng)提到“如果我們想寫一本關(guān)于Oracle的技術(shù)性書籍,那么在寫完時(shí),里面的內(nèi)容肯定已經(jīng)過(guò)時(shí)”。Addison-Wesley公司出版這本書的時(shí)候正好是Larry Ellison聲明發(fā)布Oracle 9i的官方版本之時(shí)。這本書出版后兩個(gè)星期,我接到了第一封E-mail詢問(wèn)是否已經(jīng)計(jì)劃撰寫一本關(guān)于Oracle 9i的書。在此之前,我拒絕了所有關(guān)于“升級(jí)”的請(qǐng)求,這是基于以下3個(gè)原因:(a)這需要太多的精力,(b)在我可以將Oracle 9i的信息融入到本書中之前,可能需要兩年的時(shí)間來(lái)熟悉9i,(c)它仍然只是前面這本書的簡(jiǎn)單修改。因此,我的計(jì)劃就是:2003年9月開(kāi)始撰寫這本書(確實(shí)是2003年,我花了22個(gè)月的時(shí)間才寫完),正好是我決定撰寫Practical Oracle 8i的4年之后。(請(qǐng)記住,在1999年9月,如果一個(gè)Oracle專家不會(huì)調(diào)試已經(jīng)40歲高齡的COBOL語(yǔ)言,那么不會(huì)有哪家公司會(huì)雇傭他)。我花費(fèi)了大量的時(shí)間來(lái)學(xué)習(xí)Oracle 9i,以保證能夠?qū)W習(xí)一些全新的內(nèi)容。當(dāng)然,在這4年中,出現(xiàn)了很多Oracle 8i的升級(jí)版本(最終版為8.1.7.4),出現(xiàn)了Oracle 9i的兩個(gè)主要版本,當(dāng)開(kāi)始撰寫本書時(shí),Oracle公司已經(jīng)推出了Oracle 10g。因此,我撰寫Practical Oracle 9i這一想法可能已經(jīng)過(guò)時(shí)了。事實(shí)上,當(dāng)結(jié)束了本書的撰寫工作之后(2005年6月),針對(duì)Oracle 10g R2的Linux端口已經(jīng)在OTN上可用了!因此,您閱讀本書之后所做的第一件事情就應(yīng)該是在10g R2下運(yùn)行本書的示例,以檢查究竟有哪些地方發(fā)生了變化。本書并不是對(duì)Practical Oracle 8i的簡(jiǎn)單升級(jí),本書中介紹了關(guān)于基于成本優(yōu)化的相關(guān)知識(shí)。這看起來(lái)是一個(gè)非常簡(jiǎn)單的任務(wù)—— 針對(duì)優(yōu)化器所執(zhí)行的操作和為什么執(zhí)行這樣的操作我可以談上幾個(gè)鐘頭;但是我要做的是要把這些知識(shí)成書出版。遺憾的是,這一任務(wù)比想象的要困難得多。把很多詞語(yǔ)堆砌起來(lái)是比較容易的—— 但是將它們組織成為一本比較有用的結(jié)構(gòu)良好的書籍卻是另一回事。給我關(guān)于CBO的一些問(wèn)題,我能夠解釋其中的原因—— 也許是在創(chuàng)建和測(cè)試了一些理論之后。但是,要想為其他人解釋關(guān)于優(yōu)化器的一些通用的信息并讓他們也能得出同樣的結(jié)果,這完全不是一碼事。最終,我成功地構(gòu)建了本書的框架,并意識(shí)到必須撰寫3本書:基礎(chǔ)知識(shí)、某些增強(qiáng)的內(nèi)容和所有的外圍知識(shí)。本書專門介紹關(guān)于基于成本的優(yōu)化的基礎(chǔ)知識(shí)。0.1  寫作本書的動(dòng)機(jī)為什么需要了解CBO的工作原理呢?這是因?yàn)楫?dāng)遇到優(yōu)化器產(chǎn)生的執(zhí)行計(jì)劃非常差的情況時(shí),需要理解這究竟是什么問(wèn)題導(dǎo)致的,并給出正確的修復(fù)方法。當(dāng)然,我們可以通過(guò)為SQL添加一些提示或者進(jìn)行一些巧妙的代碼重寫操作的方式來(lái)修復(fù)一些問(wèn)題,但是如果采用這兩種方式,當(dāng)同樣的問(wèn)題出現(xiàn)在其他地方時(shí),就必須一再重復(fù)執(zhí)行類似的操作。從另一方面講,如果理解了問(wèn)題的本質(zhì)內(nèi)涵,那么就可以一次性地修復(fù)該問(wèn)題,而且在其他地方出現(xiàn)同樣的問(wèn)題時(shí)就可以知道該如何解決。0.2  本書內(nèi)容本書涵蓋了關(guān)于優(yōu)化的基本信息。本書并不是為了成為優(yōu)化器工作原理的完全參考手冊(cè)—— 本書一共有14章,但是直到第10章才提到連接,由此您可能會(huì)意識(shí)到其中有大量的內(nèi)容需要介紹。優(yōu)化過(guò)程中常見(jiàn)的重要術(shù)語(yǔ)有:●	選擇率(selectivity)和基數(shù)(cardinality):謂詞將標(biāo)識(shí)多少數(shù)據(jù)片斷以及可以轉(zhuǎn)換為多少數(shù)據(jù)行。●	訪問(wèn)路徑(access path):當(dāng)訪問(wèn)表時(shí),查詢應(yīng)該使用B樹(shù)索引、聯(lián)合使用一對(duì)位圖索引,還是完全忽略索引?!?連接順序(join order):查詢應(yīng)該首先訪問(wèn)哪一個(gè)表,為了獲得指定的結(jié)果,從何處開(kāi)始工作量最少。雖然有時(shí)候我也會(huì)對(duì)需要考慮的一些微妙特性作些注釋,但是,本書實(shí)際上只著重于少數(shù)核心概念的介紹。優(yōu)化器如何計(jì)算謂詞將產(chǎn)生多少數(shù)據(jù)?它如何用一個(gè)數(shù)值來(lái)表示表掃描的工作,如何將其與使用索引所需的工作進(jìn)行對(duì)比?用哪些數(shù)據(jù)來(lái)估計(jì)排序或散列連接所用到的資源?我可以分析一個(gè)查詢、查詢中的對(duì)象以及10053 trace文件,并解釋某條路徑為什么比另一條路徑優(yōu)先使用。遺憾的是,我無(wú)法保證讀者每次都能獲得與書中trace文件同樣的結(jié)果,因?yàn)槭纠袩o(wú)法調(diào)試所有的選項(xiàng)(我從來(lái)也沒(méi)有使用過(guò)全部的選項(xiàng)),那樣的話本書將變成一本非常冗長(zhǎng)乏味的書。盡管本書無(wú)法解決所有的問(wèn)題,但是,我相信本書已經(jīng)給出了所有的基本方法,利用它們可以解釋絕大部分情況下的問(wèn)題。0.3  本書中沒(méi)有包含的內(nèi)容本書不可避免地會(huì)忽略一些內(nèi)容。有些內(nèi)容被忽略是因?yàn)樗鼈儾粚儆趦?yōu)化器的核心行為,還有一些被忽略是因?yàn)椴皇呛艹S?,出于篇幅的原因必須排除在外。本書根本沒(méi)有提到基于規(guī)則的優(yōu)化器(Rule Based Optimizer,RBO),這是因?yàn)槊總€(gè)人都應(yīng)盡量避免使用它。本書也沒(méi)有介紹關(guān)于可擴(kuò)展優(yōu)化器的任何信息(包括上下文和空間索引),這是因?yàn)樗鼈儾皇侵髁髦黝}。本書也沒(méi)有提到分析函數(shù)、模型子句(10g)和OLAP (聯(lián)機(jī)分析處理),這是因?yàn)樗鼈冊(cè)谶M(jìn)行自身類型的數(shù)據(jù)處理之前必須獲取相關(guān)的數(shù)據(jù)—— 而數(shù)據(jù)獲取可能是時(shí)間要求最嚴(yán)格的工作。本書沒(méi)有提到對(duì)象—— 這是因?yàn)榫蛢?yōu)化器而言,它們并不存在。當(dāng)您創(chuàng)建一個(gè)對(duì)象類型并創(chuàng)建對(duì)象類型的數(shù)據(jù)片斷時(shí),Oracle會(huì)將它們轉(zhuǎn)換為簡(jiǎn)單的表和索引—— 優(yōu)化器根本不關(guān)心對(duì)象。最后,本書幾乎沒(méi)有介紹并行查詢、分區(qū)表、分布式查詢和Oracle中一些比較微妙的物理選項(xiàng),比如群集和IOT。這出于以下兩個(gè)原因:第一,篇幅不夠;第二,避免影響對(duì)主題的介紹。對(duì)于優(yōu)化器來(lái)說(shuō),存在多種不同的知識(shí)信息,要想集中介紹某一種知識(shí)將非常困難,因此,最好的辦法就是在某個(gè)時(shí)間段內(nèi)只介紹一部分知識(shí)。0.4  本系列其他兩本書中將出現(xiàn)的內(nèi)容本書是這一系列中的第一本。接下來(lái)的兩本將介紹Oracle中的一些重要特性,尤其是分區(qū)表、并行執(zhí)行、索引組織表、動(dòng)態(tài)采樣和查詢重寫。對(duì)本書中已經(jīng)提到的一些知識(shí)也將進(jìn)一步進(jìn)行介紹,比如B樹(shù)索引的更多訪問(wèn)路徑、群集訪問(wèn)和索引訪問(wèn)之間的比較以及其關(guān)于直方圖的更為詳細(xì)的信息。關(guān)于基于成本優(yōu)化的信息的最后一部分是支持優(yōu)化的基礎(chǔ)結(jié)構(gòu),有助于理解基于成本的優(yōu)化。此處主要的問(wèn)題是理解并解釋執(zhí)行計(jì)劃,理解提示的含義并應(yīng)用提示,最有效地使用dbms_stats包。本書是基于Oracle 9.2撰寫的,其中注意了與8i的一些區(qū)別,并介紹了Oracle 10g中對(duì)應(yīng)內(nèi)容的變化。接下來(lái)的兩本書將基本上不介紹8i,更多地介紹Oracle 10g。0.5  本書組織結(jié)構(gòu)本書一共14章,按照順序涵蓋了如下主題:●	表掃描:比較簡(jiǎn)單,作為入門,介紹了一些關(guān)于CPU成本計(jì)算的知識(shí)?!?簡(jiǎn)單選擇率:只有一個(gè)表,但包含了大量的關(guān)于算法的知識(shí)?!?簡(jiǎn)單B樹(shù)索引:?jiǎn)螇K讀取和多塊讀取的區(qū)別?!?群集因子:這也許是索引中最關(guān)鍵的特性?!?更微妙的選擇率:介紹一個(gè)基本主題上的大量微小變化?!?直方圖:為什么需要直方圖,并介紹了OLTP和DSS/DW之間的區(qū)別?!?位圖索引:并不是所有的索引都是相同的?!?變換:看到的不一定是得到的?!?連接:用4整章的內(nèi)容來(lái)介紹兩個(gè)表之間的連接?!?10053 trace:演示性示例?!?升級(jí)問(wèn)題:從本書其余部分整理的警告和注意信息的集合。每一章中都包含很多代碼,它們都來(lái)自于一組SQL腳本,可以從Apress網(wǎng)站(www.apress.com)或www.tupwk.com.cn/downpage上下載。您可以在自己的系統(tǒng)上運(yùn)行這些腳本,以重新產(chǎn)生和分析本書中給出的結(jié)果。必須認(rèn)真地分析這些腳本,因?yàn)槠渲邪囊恍╊~外注釋和額外測(cè)試在書中并沒(méi)有提及。我同時(shí)還在自己的個(gè)人網(wǎng)站(www.jlcomp.demon.co.uk)上公布了這些腳本,并不時(shí)地增加新的內(nèi)容。這些腳本非常重要—— 如果進(jìn)行修改,會(huì)對(duì)生產(chǎn)系統(tǒng)產(chǎn)生嚴(yán)重的影響。如果采用腳本來(lái)測(cè)試基本機(jī)制,則可以在每次升級(jí)時(shí)都重新運(yùn)行這些測(cè)試,以觀察會(huì)出現(xiàn)什么樣的變化。需要注意的一點(diǎn)是書中出現(xiàn)的腳本中經(jīng)常會(huì)包含一些代碼行來(lái)標(biāo)準(zhǔn)化測(cè)試環(huán)境,   例如:alter session set "_optimizer_system_stats_usage" = false;不要因?yàn)楸緯惺褂昧司驮谏a(chǎn)系統(tǒng)中使用這樣的命令。這并不是一個(gè)很好的編程習(xí)慣;采用這樣的命令的目的在于避免當(dāng)某個(gè)數(shù)據(jù)庫(kù)(比如)的系統(tǒng)統(tǒng)計(jì)信息和另外一個(gè)的完全不同時(shí)所導(dǎo)致的副作用。聯(lián)機(jī)代碼包中還包括3個(gè)init.ora文件和1個(gè)用于在Oracle 9i和10g下創(chuàng)建測(cè)試表空間tablespace的腳本。這4個(gè)文件必須被重新編輯,以避免出現(xiàn)文件路徑命名導(dǎo)致的問(wèn)題;Oracle 9i和10g下的init.ora文件也必須進(jìn)行調(diào)整以適應(yīng)于rollback/undo的管理選項(xiàng)。我選擇針對(duì)Oracle 9i和10g運(yùn)行init.ora文件以避免spfile的偶然變化,但是,您也可以選擇將init.ora文件中的設(shè)置組合到spfile中。0.6  必須指出的警告每當(dāng)有人要求我為Practical Oracle 8i一書簽名時(shí),我總是在簽名的后面附上自己的座右銘:盡信書則不如無(wú)書(Never believe all you read)。(如果您要求我為本書簽名,座右銘將是:印在書上的并不都是真理(Just because it’s printed, doesn’t mean it’s true))。因?yàn)榭偸菚?huì)有一些特殊情況、不同的參數(shù)設(shè)置方式和bug是書中沒(méi)有介紹的。(不用說(shuō)我所不知道的數(shù)千種知識(shí),就是我所知道的也不能保證全部正確。)參見(jiàn)如下的簡(jiǎn)單示例(聯(lián)機(jī)代碼包中的腳本in-list.sql)—— 在一個(gè)本地托管的表空間中運(yùn)行,采用手動(dòng)片斷空間管理,8KB的塊大?。篶reate table t1 asselecttrunc((rownum-1)/100)    n1,rpad('x',100)             paddingfromall_objectswhererownum

編輯推薦

★數(shù)據(jù)庫(kù)領(lǐng)域的超級(jí)暢銷書,世界級(jí)Oracle大師Jonathan Lewis的最新力作!  ★榮獲2006年年度Oracle雜志編輯選擇大獎(jiǎng)!  ★受到無(wú)數(shù)讀者、網(wǎng)友和專家的好評(píng),被翻譯成多種語(yǔ)言,成為眾多中高級(jí)Oracle用戶、DBA和開(kāi)發(fā)人員的必看圖書! [精彩試讀一]   ?。劬试囎x二] [精彩評(píng)論]    對(duì)于基于成本的優(yōu)化器的執(zhí)行方式,Jonathan有著深刻的見(jiàn)解,《基于成本的Oracle優(yōu)化法則》能夠幫助DBA成為更好的設(shè)計(jì)者,還能幫助開(kāi)發(fā)人員開(kāi)發(fā)出更卓越的代碼。    —— Thomas Kyte  Oracle公司全球副總裁     基于成本的優(yōu)化是數(shù)據(jù)庫(kù)根據(jù)統(tǒng)計(jì)以預(yù)測(cè)的方式選擇一種可能最快的執(zhí)行方式。對(duì)執(zhí)行性能高度敏感的應(yīng)用使用CBO可以成倍加速SQL的執(zhí)行速度。《基于成本的Oracle優(yōu)化法則》的目的在于解釋優(yōu)化器執(zhí)行計(jì)算過(guò)程中的主要特性,以此分析計(jì)算成本,并確定SQL語(yǔ)句的執(zhí)行計(jì)劃,作者還深入剖析了優(yōu)化器產(chǎn)生的成本與實(shí)際資源消耗之間的關(guān)系。    相信Jonathan Lewis對(duì)CBO精湛的闡述將使得Oracle DBA能夠更好地管理數(shù)據(jù)庫(kù)的執(zhí)行,開(kāi)發(fā)人員將能夠更好地開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序。     ——  羅鐵庚  國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院教授    這是一本非常優(yōu)秀的介紹Oracle系統(tǒng)的技術(shù)圖書,該書以專家的視角對(duì)Oracle系統(tǒng)的基于成本的優(yōu)化模型進(jìn)行了深入淺出的分析和介紹。另外,這《基于成本的Oracle優(yōu)化法則》的內(nèi)容組織和案例選用也別具匠心、引人入勝。    ——  閃四清  著名數(shù)據(jù)庫(kù)專家

圖書封面

圖書標(biāo)簽Tags

無(wú)

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


    基于成本的Oracle優(yōu)化法則 PDF格式下載


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

 
 

  •   挺好的,在學(xué)習(xí)中,每天看一點(diǎn)
  •   理論和內(nèi)容及示例都很詳細(xì)
  •   因?yàn)橛⑽乃讲恍?,所以買了中文版,翻譯的太爛了。如果大家要買,記得一定要找個(gè)英文版結(jié)合著來(lái)讀。清華出版社請(qǐng)負(fù)點(diǎn)責(zé)任,找個(gè)搞Oracle的人來(lái)翻譯。
  •   內(nèi)容非常豐富,思想也很深入,需要有較好的技術(shù)背景仔細(xì)研讀。
  •   很好的一本書.大師力作!推薦!
  •   說(shuō)句實(shí)話,翻譯得不怎么樣。不僅晦澀難懂,詞不達(dá)意,而且不少錯(cuò)漏。我想原版應(yīng)該舒服很多。可是,好像這本書沒(méi)有影印版?,F(xiàn)在有些后悔,應(yīng)該直接訂一原版。
  •   探索式的,是不是真的如oracle設(shè)計(jì)那樣,我覺(jué)得我個(gè)人持保留意見(jiàn)。
  •   對(duì)于底層技術(shù)的描述非常到位。期待后面的兩本書早日初版。
 

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

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