在Transact-SQL中使用視窗函式,可以針對許多問題進行查詢的最佳化,以獲得簡單完美的解決方案。《T-SQL性能調優秘笈——基於SQL Server 2012視窗函式》基於SQL Server 2012,討論了SQL視窗、視窗函式、排序集合函式、視窗函式的最佳化以及利用視窗函式的T-SQL解決方案等內容。 通過閱讀本書,你將學到如何使用靈活、清晰、高效的方法對一個集合中的多條記錄進行計算。無論你是資料庫管理員,還是資料庫開發人員、數據分析人員等,《T-SQL性能調優秘笈——基於SQL Server 2012視窗函式》都可以作為你的實踐指導,幫助你掌握如何使用一系列T-SQL查詢方案來解決常見的業務問題。
基本介紹
- 中文名:T-SQL性能調優秘笈——基於SQL Server 2012視窗函式
目 錄
第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