目标定位(适用于开发人员、架构师、DBA)
-
精通 SQL Server 的数据建模、T-SQL 编程、并发控制、性能优化、索引策略
-
掌握事务、锁机制、统计信息、执行计划
-
能独立完成复杂系统的数据库设计、调优与可用性设计
-
具备解决大数据量、高并发、长事务、数据不一致等实际问题的能力
阶段一:数据建模与SQL表达能力(1 周)
🎯 目标
掌握规范化设计与反规范化策略;增强 T-SQL 表达能力(涵盖复杂查询)
📘 内容
-
范式与建模策略(1NF–BCNF + 反规范化场景)
-
主键 vs 唯一键 vs 聚集索引设计
-
表达能力:
-
JOIN(内/外/交叉/自连接)策略
-
子查询 vs CTE(递归查询)
-
窗口函数(ROW_NUMBER, RANK, SUM OVER 等)
-
APPLY 子句(CROSS APPLY、OUTER APPLY)
-
-
业务建模:树型结构、时间有效性建模(如 SCD)
阶段二:T-SQL 进阶与程序设计(1 周)
🎯 目标
理解 SQL Server 内部执行机制;熟练编写高质量存储过程与函数
📘 内容
-
存储过程与函数性能差异(标量 vs 表值函数)
-
临时表 vs 表变量对比、作用域、性能
-
TRY-CATCH 与事务控制
-
动态 SQL 与 sp_executesql 参数化
-
游标及其替代方案
-
控制流编程与批处理优化
-
参数嗅探(Parameter Sniffing)问题与解决方案
阶段三:索引策略与执行计划分析(1.5 周)
🎯 目标
掌握索引设计、执行计划读取、常见慢查询优化手段
📘 内容
-
聚集索引、非聚集索引、覆盖索引、包含列
-
索引选择策略:选择性、过滤索引、索引合并
-
执行计划分析要点:
-
Estimated vs Actual Plan
-
索引查找 vs 扫描(Index Seek / Scan)
-
Lookup、Sort、Hash Match、Nested Loop 分析
-
-
统计信息(自动更新、采样率、影响)
-
索引重建、重组与碎片管理
阶段四:事务、锁、并发控制机制(1.5 周)
🎯 目标
深入理解事务机制、并发控制与死锁解决策略
📘 内容
-
SQL Server 锁类型:S/X/IS/IX/U/Sch-S/Sch-M
-
表锁、行锁、页锁
-
死锁检测机制与
sys.dm_tran_locks
,sys.dm_exec_requests
-
事务隔离级别对比:
-
READ UNCOMMITTED(脏读)
-
READ COMMITTED(默认)
-
REPEATABLE READ(不可重复读)
-
SERIALIZABLE(幻读)
-
SNAPSHOT(版本控制)
-
-
并发编程实践:悲观 vs 乐观锁、行版本控制
阶段五:大数据量与高并发下的优化策略(2 周)
🎯 目标
应对数据千万/亿级规模下的查询与写入性能挑战
📘 内容
-
批处理写入与分页更新策略(MERGE、UPSERT)
-
分区表设计:
-
水平分区(按时间、ID)
-
分区索引 + 分区切换策略
-
-
文件组布局设计(冷热数据分离)
-
Bulk Insert、BCP、SSIS 导入优化
-
索引策略调优:延迟索引、分区索引、增量维护
-
分布式系统对接设计(CDC、日志捕获)
阶段六:系统级优化与可维护性(1 周)
🎯 目标
强化系统级能力:自动化、可视化、可恢复性、可扩展性
📘 内容
-
性能监控视图:
-
sys.dm_exec_query_stats
-
sys.dm_exec_sql_text
-
sys.dm_exec_requests
-
-
缓存与查询计划复用机制
-
自动化任务:
-
SQL Server Agent 作业编排
-
自动备份与告警
-
-
历史执行统计与慢日志分析
-
查询审计策略(Query Store、SQL Audit)
-
数据一致性校验与修复工具(如 DBCC)
推荐阅读资料
类型 | 推荐内容 |
---|---|
📘 权威书籍 | 《SQL Server Internals》 《T-SQL Fundamentals》 《Pro SQL Server Relational Database Design and Implementation》 |
📖 官方文档 | Microsoft SQL documentation - SQL Server | Microsoft Learn |