《數(shù)據(jù)庫性能管理與調優(yōu)》重點介紹數(shù)據(jù)庫性能管理與調試的理論及應用。首先強調任何系統(tǒng)的分析、設計、開發(fā)、測試、操作階段都需要進行性能管理。并系統(tǒng)分析了各個階段的性能管理應該關注的不同對象及目標。在以Oracle數(shù)據(jù)庫為基礎構建的系統(tǒng)中,將性能調試分為操作系統(tǒng)級調試和DBMS級調試分別進行詳細介紹。在DBMS級調試階段,為了在短時間內(nèi)以低成本得到數(shù)據(jù)庫性能提升效果,最好的方式是進行SQL調試,索引和連接就是SQL調試中必不可少的重要存在,是快速提取表中的數(shù)據(jù)的手段,但是使用不當很容易適得其反,所以書中結合具體例子介紹索引和連接的使用方法和注意事項。
適讀人群 :廣大讀者
《數(shù)據(jù)庫性能管理與調優(yōu)》闡述了操作現(xiàn)場可能出現(xiàn)的數(shù)據(jù)庫性能管理方法,希望能夠成為幫助初學者和專業(yè)人士的性能管理指南。DBA和系統(tǒng)管理人員在了解性能管理重要性的同時,熟知OS調試、網(wǎng)絡調試、數(shù)據(jù)庫調試、應用程序調試等的實戰(zhàn)知識也十分重要。
企業(yè)通過數(shù)據(jù)庫對大量的信息進行管理和使用,并正在創(chuàng)造出巨大的利益。然而,如何有效地管理每天都在快速增長的信息,這無疑是一個難題,隨著數(shù)據(jù)的日益增加,企業(yè)正面臨著與性能問題相關的很多困難。
數(shù)據(jù)庫性能低下的問題會摧毀企業(yè)與客戶之間的信任,然而,此類問題也很難在一兩天解決。因此,只有投入大量的時間和費用,才能解決性能問題。如此一來,也給數(shù)據(jù)庫性能低下的企業(yè)造成了巨大的損失。
數(shù)據(jù)庫是運行系統(tǒng)、網(wǎng)絡、程序等多種要素相結合運行的系統(tǒng)。為了確保這種復雜系統(tǒng)的穩(wěn)定性,必須采取多方位的分析和監(jiān)控,以及相應措施并行的處理方式。大多數(shù)企業(yè)為了進行期間業(yè)務與客戶服務而使用數(shù)據(jù)庫。作為支持此業(yè)務的重要系統(tǒng),隨著時間的推移、數(shù)據(jù)與用戶的增多,性能會漸漸減弱,成為各企業(yè)的一個大麻煩,特別是執(zhí)行管理任務的DBA或系統(tǒng)管理人員更是陷入困境。因此,DBA和系統(tǒng)管理人員在了解性能管理重要性的同時,也需要熟知OS調試、網(wǎng)絡調試、數(shù)據(jù)庫調試、應用程序調試等的實戰(zhàn)知識。
性能問題的產(chǎn)生可能有多種原因,其中包括兩個主要原因: 一種是構建數(shù)據(jù)庫時,由于以結果為主的構建與時間的計算,設計出的數(shù)據(jù)庫性能欠佳,或未能構建出優(yōu)化的數(shù)據(jù)庫,這種情況下,隨著時間的推移,便會漸漸出現(xiàn)性能低下的問題;另一種是訪問數(shù)據(jù)庫的SQL未能實現(xiàn)優(yōu)化,從而導致性能的低下。性能管理并非只單純地出現(xiàn)在系統(tǒng)的運行和使用中,在對任意系統(tǒng)進行分析、設計、開發(fā)、測試、運行的階段中,性能管理都是不可或缺的步驟。此外,以數(shù)據(jù)庫為基礎構建的系統(tǒng),其各階段均需要在考慮數(shù)據(jù)庫相關事項后再進行操作。
本系列叢書闡述了操作現(xiàn)場可能出現(xiàn)的數(shù)據(jù)庫性能管理方法,希望能夠成為幫助初學者和專業(yè)人士的性能管理指南。
本書由金范編寫,張青對本書進行了認真校對,周兆明、王一帆、邱雯參與了資料的收集、整理、錄入等工作。此外,本書的編寫得到了上海產(chǎn)業(yè)技術研究院大數(shù)據(jù)專家委員會等相關單位的大力支持和指導,上海產(chǎn)業(yè)技術研究院的組織協(xié)調也使本書得以順利出版,在此一并表示衷心感謝。
金范,韓國居民,專攻數(shù)據(jù)庫,曾就職(株)KISANTELECOM,擁有CDMA等核心通信軟件開發(fā)經(jīng)驗,后在(株)WAREVALLEY擔任軟件開發(fā)人員及研究所長(CTO)。擁有數(shù)據(jù)庫相關專利7項,自2011年連續(xù)三年與韓國數(shù)據(jù)庫振興院攜手開發(fā)了數(shù)據(jù)庫安全框架V1,V2,并編著了數(shù)據(jù)庫安全指南,參與了數(shù)據(jù)庫振興院進行的認證程序研發(fā),為國內(nèi)外各種公共機關提供咨詢,F(xiàn)作為上海產(chǎn)業(yè)技術研究院首席數(shù)據(jù)科學家、中國大數(shù)據(jù)標準專家委員積極活躍在數(shù)據(jù)庫領域。
第1章 數(shù)據(jù)庫性能管理
1.1 對數(shù)據(jù)庫性能管理的訪問 7
1.2 按項目階段進行性能管理 8
1.3 定期數(shù)據(jù)庫調優(yōu) 9
1.4 操作系統(tǒng) (OS) 級調優(yōu) 11
1.5 DBMS 調優(yōu) 22
第2章 SQL 調優(yōu) 39
2.1 了解優(yōu)化器 (Optimizer) 42
2.2 基于規(guī)則的優(yōu)化器 (Rule-Based Optimizer) 55
2.3 基于成本的優(yōu)化器 (Cost-Based Optimizer) 57
2.4 優(yōu)化器 HINT 66
第3章 索引 (Index) 74
3.1 索引類型 75
3.2 了解索引和表訪問 85
3.3 設計索引時的注意事項 88
3.4 索引的正確使用 94
3.5 組合索引 (Composite Index) 96
3.6 掃描范圍的決策條件和驗證條件 98
3.7 無法使用索引時 101
第4章 連接的種類和順序 109
4.1 Nested Loop Join 112
4.2 Sort Merge Join 116
4.3 Hash Join 120
第5章 部分范圍處理 123
3.5 部分范圍 (Partial Range Scan) 處理 124
3.6 部分范圍處理的使用原則 127
第6章 數(shù)據(jù)庫調優(yōu) Quick Guide 151