About the Author |
|
xi | |
About the Technical Reviewer |
|
xiii | |
Acknowledgments |
|
xv | |
Introduction |
|
xvii | |
|
Part I Building Understandable T-SQL |
|
|
1 | (120) |
|
|
3 | (22) |
|
|
3 | (6) |
|
|
3 | (4) |
|
Approximate Number Data Types |
|
|
7 | (1) |
|
Converting Number Data Types |
|
|
8 | (1) |
|
|
9 | (4) |
|
Character String Data Types |
|
|
9 | (2) |
|
Unicode String Data Types |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (5) |
|
|
13 | (1) |
|
|
14 | (1) |
|
Smalldatetime, Datetime, Datetime2, Datetimeoffset |
|
|
15 | (3) |
|
|
18 | (7) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
19 | (2) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (3) |
|
Chapter 2 Database Objects |
|
|
25 | (48) |
|
|
25 | (7) |
|
|
26 | (4) |
|
|
30 | (2) |
|
|
32 | (14) |
|
|
32 | (4) |
|
|
36 | (10) |
|
Other User-Defined Objects |
|
|
46 | (8) |
|
|
46 | (1) |
|
|
47 | (3) |
|
|
50 | (4) |
|
|
54 | (7) |
|
|
54 | (5) |
|
|
59 | (2) |
|
Temporary Stored Procedures |
|
|
61 | (1) |
|
|
61 | (5) |
|
|
62 | (1) |
|
Data Definition Language (DDL) Triggers |
|
|
62 | (1) |
|
Data Manipulation Language (DML) Triggers |
|
|
62 | (4) |
|
|
66 | (7) |
|
|
67 | (2) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (3) |
|
Chapter 3 Standardizing T-SQL |
|
|
73 | (24) |
|
|
73 | (13) |
|
|
86 | (5) |
|
|
91 | (6) |
|
Chapter 4 Designing T-SQL |
|
|
97 | (24) |
|
|
97 | (5) |
|
|
102 | (9) |
|
|
111 | (10) |
|
Part II Building Performant T-SQL |
|
|
121 | (98) |
|
Chapter 5 Set-Based Design |
|
|
123 | (24) |
|
Introduction to Set-Based Design |
|
|
123 | (5) |
|
|
128 | (8) |
|
Writing Code for Data Sets |
|
|
136 | (11) |
|
|
147 | (16) |
|
Considering Memory with T-SQL Design |
|
|
147 | (6) |
|
Considering Storage with T-SQL Design |
|
|
153 | (3) |
|
Considering CPU with T-SQL Design |
|
|
156 | (7) |
|
Chapter 7 Execution Plans |
|
|
163 | (32) |
|
|
163 | (12) |
|
Index Usage in Execution Plans |
|
|
175 | (9) |
|
Logical Join Types in Execution Plans |
|
|
184 | (11) |
|
|
195 | (24) |
|
|
195 | (8) |
|
|
203 | (4) |
|
Automatic Database Tuning |
|
|
207 | (3) |
|
|
208 | (1) |
|
Automatic Plan Correction |
|
|
208 | (2) |
|
Automatic Index Management |
|
|
210 | (1) |
|
Intelligent Query Processing |
|
|
210 | (9) |
|
|
211 | (1) |
|
|
211 | (1) |
|
|
212 | (7) |
|
Part III Building Manageable T-SQL |
|
|
219 | (94) |
|
Chapter 9 Coding Standards |
|
|
221 | (22) |
|
|
221 | (3) |
|
What to Include in Coding Standards |
|
|
224 | (19) |
|
|
224 | (3) |
|
|
227 | (10) |
|
|
237 | (6) |
|
Chapter 10 Source Control |
|
|
243 | (24) |
|
|
243 | (4) |
|
How to Use Source Control |
|
|
247 | (4) |
|
Setting Up Source Control |
|
|
251 | (16) |
|
|
267 | (22) |
|
|
267 | (13) |
|
|
280 | (5) |
|
|
285 | (1) |
|
|
286 | (3) |
|
|
289 | (24) |
|
|
289 | (7) |
|
|
296 | (8) |
|
|
304 | (9) |
|
Part IV Building Maintainable T-SQL |
|
|
313 | (86) |
|
Chapter 13 Functional Design |
|
|
315 | (30) |
|
Inserting and Updating Data |
|
|
315 | (6) |
|
|
321 | (6) |
|
|
327 | (7) |
|
Reporting on Transactional Data |
|
|
334 | (6) |
|
|
340 | (5) |
|
|
345 | (16) |
|
|
345 | (10) |
|
|
355 | (6) |
|
Chapter 15 Managing Data Growth |
|
|
361 | (38) |
|
|
361 | (8) |
|
|
369 | (13) |
|
|
382 | (7) |
|
|
389 | (10) |
Index |
|
399 | |