Part 1: Tables and Indexes
1. Data Storage Internals
2. Tables and Indexes
3. Statistics
4. Special Indexing and Storage Features
5. SQL Server 2016 Enhancements
6. Index Fragmentation
7. Designing and Tuning the Indexes
Part 2: Other Things That Matter
8. Constraints
9. Triggers
10. Views
11. Functions
12. XML and JSON13. Temporary Tables and TempDB
14. CLR
15. CLR Types
16. Data Partitioning
Part 3: Locking, Blocking, and Concurrency
17. Lock Types and Transaction Isolation Levels
18. Troubleshooting Blocking Issues
19. Deadlocks
20. Lock Escalations
21. Optimistic Isolation Levels
22. Application Locks
23. Schema Locks 24. Designing Transaction Strategies
Part 4: Query Life Cycle
25. Query Optimization and Execution
26. Plan Caching
Part 5: Practical Troubleshooting
27. System Troubleshooting
28. Extended events
29. Query Store
Part 6: Inside the Transaction Log
30. Transaction Log Internals
31. Backup and Restore
32. High Availability Technologies
Part 7: In-Memory OLTP Engine
33. Column-Based Storage and Batch Mode Execution
34. Columnstore Indexes
Part 8: In-Memory OLTP Engine
35. In-Memory OLTP Internals
36. Transaction Processing in In-Memory OLTP
37. In-Memory OLTP Programmability
About the Author: Dmitri Korotkevitch is Microsoft SQL Server MVP and Microsoft Certified Master. He brings years of experience working with SQL Server as an Application and Database Developer, Database Administrator, and Database Architect. He specializes in design, development, and performance tuning of OLTP Systems working under heavy load. Dmitri regularly speaks at various Microsoft and SQL PASS events, and he provides SQL Server training to clients around the world.