發表於2024-12-18
書[0名0]: | SQL Server性能調[0優0]實戰[按需印刷]|4881445 |
圖書定價: | 69元 |
圖書作者: | 陳[0暢0]亮;吳一晴 |
齣版社: | [1機1] 械工業齣版社 |
齣版日期: | 2015-10-01 0:00:00 |
ISBN號: | 9787111517023 |
開本: | 16開 |
頁數: | 0 |
版次: | 1-1 |
作者簡介 |
陳[0暢0]亮,程序員齣身,經過幾年的軟件開發之後轉職為DBA,熱衷於技術分享。多年來活躍於博客園,是微軟SQL Server方嚮有價值的專傢(MVP),受邀以演講嘉賓身份參加瞭2015年DTCC(中[0國0]數據庫技術[0大0][0會0])。對SQL Server的設計與[0優0]化有深刻認識,實戰經驗豐富,同時撰寫瞭[0大0]量關於SQL Server的技術文章。研究方嚮為SQL Server、MySQL、[0No0]SQL,以及分布式環境下海量數據存儲的設計與開發。 吳一晴,2007年畢業於廈門集美[0大0][0學0]誠毅[0學0]院,同年就職於廈門某物流軟件科技公司,擔任架構師職位,主要從事C#開發及.net框架維護。2010至2014年就職於廈門某電子[0商0]務技術公司,並開始為美[0國0]旗下Quidsi公司從事SQL Server的數據庫管理及運維工作。2015年就職於[0國0]內某傢裝互聯網O2O企業,擔任數據庫管理員職位,主要從事Linux、MySQL、MongoDB以及PostgreSQL等開源項目的管理和架構規劃及運維工作。 |
內容簡介 |
本書是一綫DBA技術專傢精心之作,積作者多年的經驗結晶和佳實踐,也是目前市場上為數不多通過存儲原理來講解性能[0優0]化,剖析SQL Server架構,從而幫助讀者快速高效調[0優0]數據庫的圖書。 書中[0首0]先簡要介紹瞭SQL Server與性能實踐相關的一些基礎語[0法0]及配置信息.提齣與數據庫性能相關的幾個概要信息,再根據SQL Server數據的內部實現原理講解如何調整和[0優0]化SQL Server數據庫實例的配置;接著介紹SQL Server數據庫存儲引擎的語句[0優0]化,執行計劃內部原理以及索引等綜閤因囊分析如何[0優0]化數據庫語句,保證數據庫的穩定性及效率;後從SQL Server的數據庫性能監控及高可用性解決方案,提齣性能監控及設計層麵的[0優0]化。 |
目錄 |
序1 序2 [0第0]1章 安裝、配置SQL Server 1 1.1 SQL Server概述 1 1.1.1 簡介 1 1.1.2 發展曆[0史0] 1 1.2 SQL Server安裝 2 1.2.1 硬件準備與性能 2 1.2.2 操作係統的選擇 3 1.3 SQL Server配置 4 1.3.1 配置管理器 4 1.3.2 數據庫實例配置 5 1.4 小結 6 [0第0]2章 影響SQL Server性能的因素 7 2.1 服務器硬件 8 2.1.1 內存 8 2.1.2 CPU 8 2.1.3 磁盤I/O 9 2.1.4 網絡帶寬 9 2.2 SQL Server版本對性能的限製 10 2.3 SQL Server係統的配置 10 2.3.1 內存配置 10 2.3.2 CPU配置 11 2.3.3 I/O及數據文件配置 11 2.4 數據庫結構的設計 12 2.4.1 好的性能齣自好的設計 12 2.4.2 約束對性能的影響 12 2.4.3 適[0當0]的冗餘 13 2.5 T-SQL語句的編寫 13 2.5.1 編寫T-SQL語句的注意事項及小竅門 13 2.5.2 使用簡單SQL語句 14 2.6 小結 14 [0第0]3章 T-SQL與性能調[0優0] 15 3.1 編寫健壯的T-SQL語句 15 3.2 使用查詢語句 17 3.2.1 SELECT語句 17 3.2.2 SELECT語句的性能 18 3.3 使用排序子句 19 3.3.1 排序子句 19 3.3.2 排序的性能影響 19 3.3.3 排序對Tempdb的影響 20 3.4 使用T-SQL匯總 21 3.4.1 GROUP BY 21 3.4.2 DISTINCT 22 3.4.3 GROUP BY與性能 22 3.5 UPDATE語句 22 3.5.1 UPDATE 23 3.5.2 UPDATE語句與事務影響 23 3.6 DELETE語句 25 3.6.1 DELETE、TRUNCATE TABLE 25 3.6.2 刪除操作與事務日誌 26 3.7 使用過濾條件(WHERE子句) 26 3.7.1 閤理[0優0]化因素 26 3.7.2 閤理利用索引 27 3.8 連接查詢 27 3.8.1 連接類型 27 3.8.2 認識連接操作 28 3.9 子查詢 30 3.9.1 子查詢與性能 31 3.9.2 IN、EXISTS與LEFT JOIN的性能對比 31 3.9.3 FOR XML子句 32 3.10 批量更新數據 34 3.10.1 BULK...INSERT 34 3.10.2 INSERT...SELECT 34 3.10.3 SELECT...INTO 35 3.10.4 OUTPUT子句 35 3.10.5 MERGE 36 3.10.6 BCP工具 36 3.11 運行時動態管理視圖 36 3.12 小結 37 [0第0]4章 SQL Server的內存管理 38 4.1 Windows的內存管理 38 4.1.1 32位操作係統 39 4.1.2 64位操作係統 41 4.2 SQL Server的內存管理 41 4.2.1 SQLOS內存管理組件 41 4.2.2 內存中的數據 44 4.3 診斷內存瓶頸 46 4.3.1 資源管理器診斷示例 48 4.3.2 性能計數器診斷示例 48 4.4 案例分析 49 4.4.1 案例一:內存不足造成的磁盤[0超0]負荷 49 4.4.2 案例二:內存不足的信號(RESOURCE_SEMAPHORE) 50 4.5 小結 53 [0第0]5章 SQL Server的任務調度 54 5.1 任務調度者 54 5.2 工作者 55 5.3 任務 57 5.4 任務調度與資源等待 58 5.5 CPU性能監控及示例 61 5.5.1 使用動態管理視圖診斷 61 5.5.2 使用性能計數器診斷 62 5.5.3 MDW 63 5.6 小結 65 [0第0]6章 SQL Server執行計劃分析 66 6.1 查看執行計劃 66 6.2 查詢[0優0]化器與執行計劃的選擇 70 6.2.1 統計信息 71 6.2.2 統計信息與執行計劃(示例詳解) 74 6.3 常用的執行計劃操作符 75 6.3.1 數據訪問操作符 76 6.3.2 關聯操作符 79 6.3.3 聚閤操作符 83 6.4 執行計劃緩存及重編譯 86 6.4.1 語句級彆的重編譯 87 6.4.2 導緻重編譯的因素 87 6.4.3 監視和解決重編譯問題 88 6.5 執行計劃實踐 88 6.5.1 案例一(參數嗅探) 88 6.5.2 案例二(瘋狂的重編譯) 93 6.6 小結 95 [0第0]7章 索引 96 7.1 索引概念 97 7.1.1 什麼是索引 97 7.1.2 索引的類型 97 7.1.3 特殊的索引 98 7.2 索引的物理結構 99 7.2.1 基本概念 99 7.2.2 查看文件存儲格式的幾種方[0法0] 103 7.2.3 RID的物理結構 110 7.2.4 UNIQUIFIER物理結構 117 7.2.5 堆錶行記錄的物理結構 129 7.2.6 堆錶非聚集索引的物理結構 149 7.2.7 聚集索引的物理結構 185 7.2.8 非聚集索引的物理結構 191 7.2.9 NULL位圖物理結構 197 7.2.10 行溢齣物理結構 203 7.2.11 LOB的物理結構 209 7.3 索引的選擇 229 7.3.1 覆蓋索引 230 7.3.2 索引的分析 231 7.4 查看缺失的索引 238 7.4.1 執行計劃中查看缺失索引 238 7.4.2 查看所有缺失索引的字段 238 7.5 查看無效索引 240 7.6 案例分析:統計信息失效 240 7.7 小結 243 [0第0]8章 鎖、事務與性能 244 8.1 鎖、事務要解決的問題 244 8.2 事務的控製 249 8.3 鎖粒度 250 8.4 鎖模式 250 8.5 鎖兼容性 251 8.6 阻塞、死鎖及性能[0優0]化 253 8.7 鎖的監控 255 8.7.1 與鎖相關的性能計數器 255 8.7.2 鎖相關的動態管理視圖簡介 256 8.7.3 SQL Profiler 256 8.7.4 死鎖標記 256 8.8 輕量級鎖閂鎖 259 8.8.1 閂鎖模式 259 8.8.2 閂鎖的兼容性 260 8.8.3 查看閂鎖 260 8.9 自定義事務報警 262 8.9.1 阻塞報警 262 8.9.2 死鎖報警 264 8.10 小結 265 [0第0]9章 理解和使用Tempdb 266 9.1 Tempdb的工作 266 9.2 錶變量、臨時錶 267 9.2.1 統計信息 269 9.2.2 臨時錶和錶變量的索引 269 9.2.3 錶結構修改 270 9.3 Tempdb的並發阻塞 270 9.4 監視Tempdb 274 9.4.1 性能計數器 274 9.4.2 動態管理視圖 274 9.5 小結 275 [0第0]10章 SQL Server數據庫性能監控 276 10.1 SQL Profiler/Trace 276 10.1.1 選擇跟蹤模闆 276 10.1.2 選擇跟蹤事件 278 10.1.3 過濾跟蹤 279 10.2 Data Collector與MDW 280 10.2.1 MDW的配置 280 10.2.2 查看性能報錶 281 10.3 性能監控的性能計數器 284 10.4 擴展事件 285 10.5 小結 288 [0第0]11章 SQL Server數據庫企業級配置與性能 289 11.1 數據庫錶的配置 289 11.1.1 數據壓縮 289 11.1.2 分區錶和分區視圖 290 11.2 高可用性解決方案 290 11.2.1 企業數據庫發展階段 290 11.2.2 業務功能的數據同步 293 11.3 小結 298 |