# 课程序言

# 课程收获

为什么设计本课程?

  • SQL 基础知识相对匮乏
  • 期望更加系统全面的学习

课程收获

  • 用 SQL 解决企业中存在的真实业务痛点问题
  • 用 SQL 优化彰显你的个人价值

# 课程适合人群

  • 开发工程师
  • 产品、运营、市场
  • 测试工程师
  • 运维工程师

# 课程内容

  1. 数据库选型

    • 选型之初:NoSQL VS SQL
    • 选型确认:各种数据存储系统的适应场景
    • 选型之终:构建 MySQL 开发环境
  2. 数据库建模

    • 业务分析(人和):一切故事的开始
    • 逻辑设计(天时):范式化 VS 反范式化
    • 物理设计(地利):根据 MySQL 特点进行设计
  3. 数据库访问

    根据场景的不同和人群的不同,选择的的工具不同

    • 初级武器:MySQL 客户端
    • 神兵利器:常用 GUI 工具
    • 高阶神器:MySQL 驱动
    • 必杀秘籍:访问故障处理
  4. SQL 开发(本课精髓)

    • 基本功:DCL、DDL、DML
    • 必备技:常用函数
    • 高阶功法:CTE 以及 窗口函数
  5. SQL 优化(本课灵魂)

    • 优化前提:分析执行计划
    • 优化进阶:索引和 SQL 改写
    • 专家技能:排查性能瓶颈
  6. 事物和高并发

    • 问到:什么是事物
    • 发现:高并发的隐患
    • 知否:事物隔离级别
    • 顿悟:阻塞和死锁

# 课程环境

  • CentOS 7
  • MySQL 8.0
  • SQLyog:GUI 工具

# 课程学习的路线

该讲师录制了好几个 MySQL 相关的视频,学习顺序如下:

  1. 给程序员的 MySQL 必知必会

    侧重数据库设计和 SQL 开发

  2. MySQL 全面提升,打造抗得住的 MySQL 架构

    侧重 MySQL 高可用架构设计

  3. MYSQL + MyCAT 搭建高可用企业级集群

    侧重 MySQL 高可用架构设计

  4. MySQL 电商项目

    侧重综合应用

  5. MySQL 面试指南

    侧重综合应用