內容簡介
《T-SQL性能調優秘笈:基於SQL Server 2012窗口函數》主要內容包括:
超齣常規的查詢方式,加速對集閤中多條記錄的計算;
深入剖析與排序相關的一係列函數,如排名、分布、偏移函數;
在標準SQL中應用假設集閤函數和逆分布函數;
使用策略來提高序列生成、分頁、過濾和透視效率;
使用分區、排序及索引的方式提升查詢速度;
應用諸如WindowSpool等新的優化迭代程序;
處理常見業務問題,如總計、間隔、中間值和差值。
在Transact-SQL中使用窗口函數,可以針對許多問題進行查詢的優化,以獲得簡單完美的解決方案。
《T-SQL性能調優秘笈:基於SQL Server 2012窗口函數》基於SQLServer2012,討論瞭SQL窗口、窗口函數、排序集閤函數、窗口函數的優化以及利用窗口函數的T-SQL解決方案等內容。
通過閱讀《T-SQL性能調優秘笈:基於SQL Server 2012窗口函數》,你將學到如何使用靈活、清晰、高效的方法對一個集閤中的多條記錄進行計算。無論你是數據庫管理員,還是數據庫開發人員、數據分析人員等,《T-SQL性能調優秘笈:基於SQL Server 2012窗口函數》都可以作為你的實踐指導,幫助你掌握如何使用一係列T-SQL查詢方案來解決常見的業務問題。
作者簡介
Itzik Ben-Gan是Solid Quality Learning的導師和創始人。從1999年開始,他一直是Microsoft SQL Server MVP(最有價值專傢),並在全世界已經開展過無數次T-SQL查詢、T-SQL優化和編程方麵的培訓。Itzik已經發錶瞭許多文章和白皮書。Itzik擅長T-SQL查詢、查詢優化、編程和內部原理,此外他還精通其他的數據庫領域。
內頁插圖
目錄
目 錄
第1章 SQL窗口函數 1
1.1 窗口函數的背景 2
1.1.1 窗口函數的描述 2
1.1.2 基於集閤與基於迭代/遊標的編程 6
1.1.3 窗口函數替代方案的不足之處 11
1.2 使用窗口函數的解決方案簡介 16
1.3 窗口函數中的元素 20
1.3.1 分區 21
1.3.2 排序 22
1.3.3 框架 23
1.4 支持窗口函數的查詢元素 24
1.4.1 查詢邏輯處理 24
1.4.2 支持窗口函數的子句 26
1.4.3 避開限製 29
1.5 潛在的額外篩選器 31
1.6 窗口定義的重復使用 32
1.7 小結 33
第2章 窗口函數詳述 34
2.1 窗口聚閤函數 34
2.1.1 窗口聚閤函數描述 34
2.1.2 支持的窗口元素 35
2.1.3 對進一步篩選的一些想法 51
2.1.4 DISTINCT聚閤 53
2.1.5 嵌套聚閤 55
2.2 排名函數 60
2.2.1 支持的窗口元素 60
2.2.2 ROW_NUMBER 60
2.2.3 NTILE 65
2.2.4 RANK和DENSE_RANK 69
2.3 分布函數 71
2.3.1 支持的窗口元素 71
2.3.2 排名分布函數 71
2.3.3 逆分布函數 74
2.4 偏移函數 77
2.4.1 支持的窗口元素 77
2.4.2 LAG和LEAD 78
2.4.3 FIRST_VALUE、LAST_VALUE和NTH_VALUE 80
2.5 小結 83
第3章 排序集閤函數 84
3.1 假設集閤函數 85
3.1.1 RANK 85
3.1.2 DENSE_RANK 87
3.1.3 PERCENT_RANK 88
3.1.4 CUME_DIST 89
3.1.5 通用的解決方法 90
3.2 逆分布函數 93
3.3 偏移函數 97
3.4 字符串連接 102
3.5 小結 103
第4章 窗口函數的優化 104
4.1 樣本數據 104
4.2 索引指南 106
4.2.1 POC索引 107
4.2.2 反嚮掃描 108
4.2.3 列存儲索引 111
4.3 排名函數 112
4.3.1 ROW_NUMBER 112
4.3.2 NTILE 114
4.3.3 RANK和DENSE_RANK 115
4.4 利用APPLY提高並行度 116
4.5 聚閤和偏移函數 119
4.5.1 沒有排序和框架 119
4.5.2 有排序和框架 122
4.6 分布函數 133
4.6.1 排名分布函數 133
4.6.2 逆分布函數 134
4.7 小結 137
第5章 利用窗口函數的T-SQL解決方案 138
5.1 虛擬數字輔助錶 138
5.2 日期和時間值序列 142
5.3 序列鍵 143
5.3.1 更新列的值為唯一值 143
5.3.2 數字序列的應用 145
5.4 分頁 148
5.5 刪除重復 151
5.6 數據透視 154
5.7 每組前N行 157
5.8 模式 160
5.9 統計總和 164
5.9.1 利用窗口函數的基於集閤的解決方案 167
5.9.2 利用子查詢或聯接且基於集閤的解決方案 168
5.9.3 基於遊標的解決方案 169
5.9.4 基於CLR的解決方案 171
5.9.5 嵌套迭代 173
5.9.6 帶變量的多行UPDATE 174
5.9.7 性能基準 176
5.10 最大並發間隔 178
5.10.1 傳統的基於集閤的解決方案 180
5.10.2 基於遊標的解決方案 182
5.10.3 基於窗口函數的解決方案 185
5.10.4 性能基準 187
5.11 包裝間隔 188
5.11.1 傳統的基於集閤的解決方案 191
5.11.2 基於窗口函數的解決方案 192
5.12 數據差距和數據島 201
5.12.1 數據差距 202
5.12.2 數據島 204
5.12.3 中位數 210
5.13 條件聚閤 213
5.14 層次結構排序 215
5.15 小結 219
前言/序言
T-SQL性能調優秘笈:基於SQL Server 2012窗口函數 epub pdf mobi txt 電子書 下載 2024
T-SQL性能調優秘笈:基於SQL Server 2012窗口函數 下載 epub mobi pdf txt 電子書