檔案格式:PDF (21MB)
頁數:413
目錄
關於作者 8
書寫慣例 9
序1 10
序2 10
內容簡介 11
本書適用版本 12
前言 12
第一章 需要效能調校嗎 14
1.1 效能調校理由 14
1.2 常見效能殺手 15
1.3 效能排查步驟 18
1.4 效能調校目標 25
第二章 高CPU使用率 26
2.1 17883錯誤 27
2.2 CPU伺服器組態選項 30
2.3 常見高密集CPU操作 34
2.4 調查CPU壓力 35
2.5 常見問題 39
2.6 實戰案例分析 68
2.7 總結 74
第三章 記憶體壓力 76
3.1 SQL Server動態記憶體管理 79
3.2 記憶體選項 83
最小伺服器記憶體 84
最大伺服器記憶體 85
查詢所需最小記憶體(Minimum memory per query) 86
索引建立記憶體(Index Creation memory) 87
追蹤旗標834、876 88
3.3 調查記憶體壓力 90
Windows OS 記憶體使用 91
SQL Server 記憶體使用 93
記憶體相關DMV 96
3.4 常見問題 107
3.5 實戰案例分析 108
3.6 總結 118
第四章 I/O診斷分析 120
4.1 基本設定 120
隨機與循序 I/O 120
檢查點(Checkpoint) 122
延遲寫入器(Lazy Writer) 126
積極寫入器(Eager Writer) 127
選擇合適RAID Level 127
資料和交易紀錄檔案 131
TempDB考量 132
4.2 Windows OS I/O瓶頸判斷 136
833錯誤 137
4.3 SQL Server 內部I/O壓力調查 138
4.4 常見問題 142
4.5 實戰案例分析 143
4.6 總結 148
第五章 不良查詢陳述式 150
5.1 查詢生命週期 150
5.2 單一查詢架構 153
查詢優化器(QO-Query Optimizer) 155
一般計畫(Trivial Plan) 157
5.3 計畫快取和重用 160
編譯和重新編譯 160
快取重用規則 167
5.4 了解執行計畫 181
執行計畫概述 182
常見不良運算子 184
圖形執行計畫三種類型 197
執行統計資訊 200
閱讀圖形執行計畫重點 204
文字執行計畫 206
5.5 善用提示 210
使用提示前的建議 211
提示類型介紹 212
5.6 常見問題 227
5.7 實戰案例分享 229
5.8 總結 234
第六章 缺陷索引設計 236
6.1 索引概述 237
SQL Server如何使用索引 237
6.2 B-tree叢集和非叢集索引 238
更優的Bw(Buzz Word)-tree 240
頁面分割 241
叢集索引特性 242
非叢集索引特性 243
索引碎片 245
填滿因數(Fill Factor) 246
索引維護 247
6.3 統計資料 251
統計資料維護 266
6.4 實用索引類型 268
6.5 常見問題 279
6.6 實戰案例分享 287
6.7 總結 293
第七章 封鎖和死結定位 296
7.1 交易ACID概念 298
交易模式 301
事先還是事後處理 305
隔離等級 306
7.2 鎖定基本概念 313
鎖定資料階層 314
鎖定模式 315
鎖定相容性 319
鎖定擴大 322
封鎖監控和定位 326
最小化封鎖建議 334
7.3 死結基本概念 337
可能發生死結的資源 339
死結監控和定位 341
最小化死結建議 347
7.4 In-Memory OLTP交易 348
交易衝突 349
7.5 常見問題 351
7.6 實戰案例分享 361
7.7 總結 367
第八章 SQL Server在等什麼 369
8.1等待簡介 370
8.2 Latch概念 372
8.3 I/O類型等待 376
8.4 LCK_M_xx類型等待 379
8.5 其他等待問題 383
8.6 實戰案例分享 387
8.7 總結 394
第九章 EF Core搭配SQL Server高效開發技巧 395
9.1 DbContext設計建議 396
9.2 善待SQL Server 400
9.3 查詢效能建議 403
9.4 交易效能建議 408
9.5 實戰案例分享 410
9.6 總結 413
附錄:雲端(SaaS)資料庫之我見 414
自主性太低 414
資料庫上雲端(SaaS),效能就突飛猛進? 415
工商時間 416
關於作者 8
書寫慣例 9
序1 10
序2 10
內容簡介 11
本書適用版本 12
前言 12
第一章 需要效能調校嗎 14
1.1 效能調校理由 14
1.2 常見效能殺手 15
1.3 效能排查步驟 18
1.4 效能調校目標 25
第二章 高CPU使用率 26
2.1 17883錯誤 27
2.2 CPU伺服器組態選項 30
2.3 常見高密集CPU操作 34
2.4 調查CPU壓力 35
2.5 常見問題 39
2.6 實戰案例分析 68
2.7 總結 74
第三章 記憶體壓力 76
3.1 SQL Server動態記憶體管理 79
3.2 記憶體選項 83
最小伺服器記憶體 84
最大伺服器記憶體 85
查詢所需最小記憶體(Minimum memory per query) 86
索引建立記憶體(Index Creation memory) 87
追蹤旗標834、876 88
3.3 調查記憶體壓力 90
Windows OS 記憶體使用 91
SQL Server 記憶體使用 93
記憶體相關DMV 96
3.4 常見問題 107
3.5 實戰案例分析 108
3.6 總結 118
第四章 I/O診斷分析 120
4.1 基本設定 120
隨機與循序 I/O 120
檢查點(Checkpoint) 122
延遲寫入器(Lazy Writer) 126
積極寫入器(Eager Writer) 127
選擇合適RAID Level 127
資料和交易紀錄檔案 131
TempDB考量 132
4.2 Windows OS I/O瓶頸判斷 136
833錯誤 137
4.3 SQL Server 內部I/O壓力調查 138
4.4 常見問題 142
4.5 實戰案例分析 143
4.6 總結 148
第五章 不良查詢陳述式 150
5.1 查詢生命週期 150
5.2 單一查詢架構 153
查詢優化器(QO-Query Optimizer) 155
一般計畫(Trivial Plan) 157
5.3 計畫快取和重用 160
編譯和重新編譯 160
快取重用規則 167
5.4 了解執行計畫 181
執行計畫概述 182
常見不良運算子 184
圖形執行計畫三種類型 197
執行統計資訊 200
閱讀圖形執行計畫重點 204
文字執行計畫 206
5.5 善用提示 210
使用提示前的建議 211
提示類型介紹 212
5.6 常見問題 227
5.7 實戰案例分享 229
5.8 總結 234
第六章 缺陷索引設計 236
6.1 索引概述 237
SQL Server如何使用索引 237
6.2 B-tree叢集和非叢集索引 238
更優的Bw(Buzz Word)-tree 240
頁面分割 241
叢集索引特性 242
非叢集索引特性 243
索引碎片 245
填滿因數(Fill Factor) 246
索引維護 247
6.3 統計資料 251
統計資料維護 266
6.4 實用索引類型 268
6.5 常見問題 279
6.6 實戰案例分享 287
6.7 總結 293
第七章 封鎖和死結定位 296
7.1 交易ACID概念 298
交易模式 301
事先還是事後處理 305
隔離等級 306
7.2 鎖定基本概念 313
鎖定資料階層 314
鎖定模式 315
鎖定相容性 319
鎖定擴大 322
封鎖監控和定位 326
最小化封鎖建議 334
7.3 死結基本概念 337
可能發生死結的資源 339
死結監控和定位 341
最小化死結建議 347
7.4 In-Memory OLTP交易 348
交易衝突 349
7.5 常見問題 351
7.6 實戰案例分享 361
7.7 總結 367
第八章 SQL Server在等什麼 369
8.1等待簡介 370
8.2 Latch概念 372
8.3 I/O類型等待 376
8.4 LCK_M_xx類型等待 379
8.5 其他等待問題 383
8.6 實戰案例分享 387
8.7 總結 394
第九章 EF Core搭配SQL Server高效開發技巧 395
9.1 DbContext設計建議 396
9.2 善待SQL Server 400
9.3 查詢效能建議 403
9.4 交易效能建議 408
9.5 實戰案例分享 410
9.6 總結 413
附錄:雲端(SaaS)資料庫之我見 414
自主性太低 414
資料庫上雲端(SaaS),效能就突飛猛進? 415
工商時間 416
Curriculum
- 1 Section
- 1 Lesson
- Lifetime
Expand all sectionsCollapse all sections
Instructor
