SQLServer2005性能調校

SQLServer2005性能調校是由胡百敬著作、電子工業出版社出版。

基本信息

圖書信息

作 者: 胡百敬 等著
出 版 社: 電子工業出版社
出版時間: 2008-6-1
字 數: 900000
版 次: 1
頁 數: 715
開 本: 16開
I S B N : 9787121062964
分類: 圖書 >> 計算機/網路 >> 資料庫 >> SQL
定價:¥80.00

編輯推薦

資料庫系統經年累月,可能由於數據累積、使用人數增加、套用人數增加、套用而擴增、當初系統設計不良等原因,導致性能變差。然而,性能調校的能力是需要培養的,一般來說,需要的不只是資料庫的經驗,還要對商業領域知識、系統架構設計、應用程式撰寫,以及作業系統、網路環境架設、各種監控工具程式有了解,才能在複雜的系統中,找到癥結所在並有效解決。
本書適合SQL Server DBA閱讀,書中提供了性能調校或錯誤處理的建議與提示,並通過實際案例,協助DBA建立正確的觀念,充分了解系統架構,進而在閱讀中傳承功力,並打通任督二脈,領略其中運用之奧妙。
隨書光碟內容包括:範例程式,性能調校計畫,壓力測試計畫。
盛情推薦:
台灣微軟資深產品行銷經理——李玉秀
精誠資訊知識產品事業部技術開發處資深處長——張智凱

內容簡介

資料庫系統經年累月地運行,日久便可能面臨數據累積量大、使用人數增加、套用面擴增、當初系統設計有局限等問題,導致性能變差,這就需要調試人員進行性能調校。然而,他們進行性能調校的能力是需要培養的,一般來說,需要的不只是資料庫方面的知識和經驗,還要對商業領域知識、系統架構設計、應用程式撰寫,以及對作業系統、網路環境架設、各種監控工具程式等都有一定的了解,才能在複雜的系統中,找到癥結所在,完成調校任務。
本書正是為滿足上述需要而編寫的,適合SQL Server DBA閱讀,書中提供了性能調校和錯誤處理的建議與提示,並通過實際案例,協助DBA建立正確的觀念、充分了解系統架構,進而在閱讀中傳承功力,並打通任督二脈,領略其中運用之奧妙。

圖書目錄

第1章 性能調校概觀
1.1 什麼是性能調校
1.2 建立性能的基線
1.3 性能調校的步驟——DETECT
1.3.1 各階段重點說明
1.3.2 練習DETECT方法
1.3.3 二分查找
1.3.4 定義瓶頸
1.4 結語
第2章 SQL Server架構簡介
2.1 SQL Server運行架構
2.1.1 SQL Server的訪問架構
2.1.2 SQL Server 的核心引擎
2.1.3 SQL Server動態自我管理
2.2 各項硬體使用剖析
2.2.1 記憶體管理
2.2.2 中央處理器
2.2.3 磁碟子系統
2.3 仿真系統運行
2.4 結語
第3章 性能調校相關工具程式
3.1 綜觀的工具
3.1.1 SQLDiag 公用程式概述
3.1.2 觀察影響效率的內容
3.1.3 性能監視器
3.2 進一步的分析工具
3.2.1 Management Studio
3.2.2 SQL Profiler概述
3.3 針對特定對象的工具
3.3.1 Database Engine Tuning Advisor
3.3.2 查詢編輯器
3.3.3 網路監視器
3.3.4 DBCC
3.3.5 跟蹤標記
3.4 Performance Dashboard Reports
3.4.1 SQL Server 2005 Performance Dashboard Reports
3.4.2 Performance Dashboard Reports 主要的分析途徑
3.4.3 Performance Dashboard Reports 所提供的各式報表
3.4.4 Blocking 報表
3.4.5 General Wait 報表
3.4.6 其他細節報表
3.4.7 擴展Performance Dashboard Reports 報表功能
3.5 壓力測試工具程式
3.5.1 Microsoft Application Center Test
3.5.2 Load Simulator
3.5.3 自行編寫壓力測試程式
3.6 結語
第4章 動態管理視圖和函式
4.1 動態管理視圖和函式簡介
4.2 動態管理視圖和函式的使用範例
4.3 觀察各種資源的使用情況
4.3.1 記憶體快取區
4.3.2 CPU 的使用
4.3.3 執行計畫重用
4.3.4 鎖定與被鎖定的關係
4.3.5 I/O 的使用
4.3.6 tempdb 系統資料庫的使用
第5章 資料庫設計
5.1 資料庫設計
5.2 使用分割數據表切割和平行運行
5.2.1 分割數據表的使用範例
5.2.2 分割數據表與大量數據載入的集成
5.3 TEMPDB 系統資料庫的規劃
5.3.1 tempdb 的用途
5.3.2 SQL Server 2005 針對tempdb 所做的改良
5.3.3 監控tempdb 的使用
5.3.4 性能考慮
5.4 備份與還原
5.4.1 資料庫恢復模式
5.4.2 資料庫恢復模式之間的切換
5.5 大量數據載入
5.6 設計磁碟子系統
5.7 結語
第6章 索引
6.1 索引概觀
6.1.1 建立索引與相關的屬性設定
6.1.2 平行建立索引
6.1.3 線上索引
6.1.4 集群索引與非集群索引
6.1.5 排序
6.1.6 與索引相關的系統視圖
6.1.7 是否值得建索引
6.2 索引維護
6.2.1 觀察數據不連續
6.2.2 使用動態管理函式觀察數據不連續
6.2.3 重組、重建與停用索引
6.3 最佳化執行計畫的各階段
6.4 統計
6.4.1 更新統計
6.5 覆蓋索引
6.6 在視圖與計算欄位上建立索引
6.6.1 如何有效地建立Indexed View
6.6.2 Indexed View的適用範圍
6.7 單一查詢使用多個索引
6.8 結語
第7章 T-SQL語法
7.1 有效地查詢參數
7.1.1 不要對數據域做運算
7.1.2 勿負向查詢
7.1.3 勿在Where 子句對欄位使用函式
7.1.4 小心使用OR 操作
7.2 連線
7.2.1 連線
7.2.2 Join 語句
7.2.3 嵌套循環連線
7.2.4 合併連線
7.2.5 哈希連
7.2.6 連線與子查詢
7.3 其他注意事項
7.3.1 INSERT、DELETE 和UPDATE
7.3.2 子查詢
7.3.3 搭配EXISTS與IN的子查詢
7.3.4 通過連線更新數據
7.3.5 查詢提示
7.4 新的DML語句
7.4.1 Common Table Expression
7.4.2 獲取排名或順序的函式
7.5 SQL Server 提供的公共變數
7.6 結語
第8章 重用執行計畫
8.1 編譯與高速快取執行計畫
8.2 影響計畫重用的因素
8.3 執行計畫與Execution Context
8.4 觀察執行計畫的使用
8.5 需要重新編譯計畫
8.5.1 不同參數使用相同執行計畫可能引發的問題
8.5.2 以提示影響查詢引擎所建立的執行計畫
第9章 交易與鎖定管理
9.1 鎖定
9.1.1 鎖定的種類及範圍
9.1.2 鎖定的兼容性
9.1.3 可鎖定的資源
9.1.4 鎖定與交易隔離等級
9.1.5 動態的鎖定管理
9.1.6 鎖定逾時
9.2 數據行版本控制
9.2.1 數據行版本控制基本運行行為
9.2.2 “數據行版本控制”使用時機
9.2.3 “數據行版本控制”TEMPDB 資料庫資源管理
9.3 交易
9.3.1 交易行為概述
9.3.2 批處理與交易
9.3.3 嵌套交易
9.3.4 存儲點
9.3.5 鎖定提示
9.3.6 使用交易之注意事項
9.4 死鎖狀況
9.4.1 發生Cycle 死鎖
9.4.2 發生Conversion 死鎖
9.4.3 分散式死鎖
9.4.4 SQL Server 無法偵測的死鎖實例
9.5 觀察與分析系統的鎖定狀況
9.5.1 觀察SQL Server 當前執行的狀況
9.5.2 觀察與分析系統的鎖定狀況
9.6 鎖定的原因及相關處理
9.6.1 費時的查詢或交易
9.6.2 不正確的交易或交易隔離等級設定
9.6.3 交易未正確處理
9.6.4 未檢測到的分散式死鎖
9.6.5 鎖定數據粒度(Lock Granularity)太高或太低
9.6.6 Compile Blocking
9.6.7 基本原則
9.7 結語
第10章 前端應用程式設計
10.1 程式架構
10.2 用戶端與SQL伺服器的互動
10.2.1 用戶端訪問SQL Server 的模式
10.2.2 準備再執行的模式
10.2.3 測試各種執行SQL 語句方式的性能
10.2.4 Connection Pooling
10.3 多數據結果集
10.3.1 SQL Server 數據訪問與結果集
10.3.2 工作階段內容信息與MARS
10.3.3 前端程式經由MARS訪問
10.3.4 MARS的執行方式
10.3.5 同時讀取與更新數據
10.4 游標
10.4.1 游標概觀
10.4.2 默認結果集
10.4.3 伺服器端游標
10.4.4 使用游標的T-SQL語句
10.4.5 與游標相關的系統存儲過程
10.4.6 通過前端程式訪問四種類型的游標
10.4.7 異步使用游標
10.4.8 使用游標時應注意的事項
10.5 數據高速快取
10.5.1 使用高速快取的原因
10.5.2 .NET Framework 與Microsoft patterns & Practices Enterprise Library提供的高速快取
10.5.3 訪問Caching Application Block
10.6 應用程式錯誤處理
第11章 Visual Studio 2005 Team Edition For Database Professional
11.1 DB Pro 所支持的功能
11.2 建立資料庫項目並控制對象的SQL Script
11.2.1 建立項目
11.2.2 將資料庫定義加入原始碼版本控制
11.3 建立資料庫內新對象
11.3.1 部署項目定義到資料庫
11.3.2 依項目內容更新資料庫Schema 定義
11.4 修改資料庫內對象名稱
11.5 測試
11.5.1 產生測試數據
11.5.2 資料庫的單元測試
11.5.3 資料庫單元測試的方面
11.5.4 以DB Pro 設計與執行單元測試
11.5.5 通過測試條件定義單元測試的結果是成功或失敗
11.5.6 負載測試
11.6 Service Release 1 與Power Tools 的功能
11.6.1 Power Tools 為VSTS Database Pro 新增的功能
附錄A 資料庫對象的命名慣例與訪問標準
A.1 建立命名規則
A.2 資料庫使用慣例
附錄B 資料庫伺服器的容量規劃
附錄C 應用程式架構範例

圖書章節

第1章 性能調校概觀
一般而言,影響資料庫整體性能的因素如圖1.1所示。
若資料庫設計得宜,注意了切割數據、保留了訪問靈活性,有效地使用了SQL語句,數量適當且有用的索引,避免長時間廣泛的鎖定,充足的硬體資源等,則系統將可有效地提供服務,如圖1.1所示。各種影響性能的因素中,最重要的是基礎設計,但大多數的案例由於時間急迫、對技術的認知有限、需求不明確等因素,導致系統結構缺少擴充性,僅能一味地升級硬體,但整體性能無法大幅改善。
增加CPU對系統的性能當然會有幫助,但結果不一定能讓人滿意,例如,交易鎖定過多且長久,數據表欄位多且長度大,所屬的SQL語句無法有效地平行運算,又不能將工作分成多個批處理同時執行等,則更多的CPU也無法解決問題。
性能調校不是一件簡單的事,一般來說需要有廣泛的經驗與知識,不單單是資料庫的經驗,還要對商業邏輯、系統架構設計、編寫應用程式、作業系統、架設網路環境、使用各種偵測與監控工具程式、安全與防毒等,都有基本的了解,才能在複雜的系統中,找到癥結所在。
因為性能問題往往不會單純地呈現出來,讓你一眼就知道答案。最簡單的例子,當你看到CPU很忙時,長時間百分之百的使用率,可能直覺就是CPU性能不足。但其實可能是硬碟性能不足,或是記憶體容量不夠,讓CPU一直忙於I/O。這個例子只是簡單地告訴你,性能問題的癥結往往不是表象所呈現出來的。從不同的方面去看,往往會有不同的解釋。
早先,微軟的性能調校制式檔案上標示著各項成功元素所占的百分率:先前的經驗19%、解決問題的能力22%、是否有完備的顧問服務16%、產品的熟悉程度26%、計算機的相關知識13%、運氣4%,見圖1.2。天啊!你是全世界最強的信息人員,若上蒼不眷顧,還是有4%的機會不得成功。

相關詞條

相關搜尋

熱門詞條

聯絡我們