用途:面向数据工程工作流,提供设计、查询与优化关系型数据库的生产级 SQL 技能,重点为 PostgreSQL 16+,也涉及 MySQL 8.0+。
主要能力:
- 查询优化:使用 EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT) 分析执行计划,识别 Seq Scan、Index Scan、Bitmap Index Scan、Hash Join、Nested Loop 等节点含义。
- 索引策略:B-tree、部分索引、复合索引(列顺序重要)、覆盖索引(INCLUDE)、表达式索引、JSONB 的 GIN 索引,并通过 pg_stat_user_indexes 检查使用情况。
- 窗口函数与 CTE:运行总计、移动平均、RANK、分区占比、间隙与孤岛检测。
- 事务与 ACID:READ COMMITTED、REPEATABLE READ、SERIALIZABLE 隔离级别,以及乐观锁模式。
- 分区:按范围(时间序列)与按列表(分类数据)分区,可用 pg_partman 自动分区。
- 生产模式:星型模式事实表与维度表(含 SCD Type 2 字段)。
- 慢查询检测:启用 pg_stat_statements 扩展并查询最慢语句。
- 连接池:pgBouncer 配置,pool_mode 可选 session、transaction(推荐)、statement。
- 故障排查:慢查询、锁等待、连接耗尽、磁盘满、复制延迟,以及查看活动查询、阻塞查询、表膨胀、索引使用,使用 pg_cancel_backend 与 pg_terminate_backend 终止查询。
- 测试:使用 pytest、SQLAlchemy 与 testcontainers 启动真实 PostgreSQL 做集成测试。
使用方式:资料给出 SQL 示例、pgbouncer.ini 配置片段与 Python 测试模板,可直接参考;学习路径分四阶段共 10 周,从基础 SELECT/JOIN 到生产监控与调优。
适用场景:OLTP 数据库设计、查询性能调优、分区扩展、连接池与监控、数据仓库维度建模。
限制:资料未提供该技能的安装命令、收费方式、平台支持范围与具体效果数据;示例以 PostgreSQL 为主,其他数据库需自行适配。