Course Code:
zamysql
Duration:
14 hours
Overview:
目标群体:
它是针对那些有使用 windows/linux 作为服务器基础的人的,知道 SQL,
Course Outline:
物理/逻辑架构 MySQL
- 服务器文件和启动脚本
- 服务器配置 MySQL
- 我的.cnf
- 基本参数
- 服务器日志文件
- 查询日志
- 查询日志慢
- 错误日志
管理
- 用户帐户
- MySQL 中的权限和安全性
- 备份和还原 – Mysqldump 与 Percona 备份
- 数据库维护
优化架构
- InnoDB:具体呈现 – 缺点、优点、与 MyISAM 有什么区别 – 何时使用什么?
- 如何选择主键(空间键、b树等)?
- 在 InnoDB 引擎上进行全文搜索(可能仅 <5.6 MyISAM,高于 5.6 MyISAM+InnoDB)
MySQL 查询缓存
- 为什么,为了什么问题,什么价值,值得它做大?
性能测试,识别性能问题
- 测试什么 - 取决于我们想要获得的结果
- 解决性能问题(慢查询、等待、性能工具等)
数据分片(水平和垂直)
- 差异、成本、局限性
优化架构
索引
- 超大表中的索引
- 主密钥(折叠时,在哪些字段上)
数据类型
- 选择数据类型的技巧,正确使用字段类型(int/float、时间、地理位置)——优点、局限性
- int 以外的主键是否可接受且同样有效?
- 每个表都应该有一个主键吗?
- 交易 - 何时使用,何时不使用 - 优点和缺点。
优化操作系统和硬件利用率
- my.cnf 中最重要的参数
应用层面的优化
- 优化工具
- 用于分析设置和显示工具提示的脚本
数据库复制
- 复制、集群 - 如何实现高可用性?
- 复制配置(ROW/PAGE、故障排除、重建、监视/诊断复制过程
MySQL 代理与 HAProxy
- 工作原理、可靠性(?)、优点、缺点
MySQL 集群
- 原则
- 配置
- 效率
- 安全
缓存
- 缓存 MySQL,临时表
- 是否值得将关系移动到数据库,还是将它们保留在代码中更好?
- 子查询和联接 - 你应该使用它,如何优化?
解释为查询测试辅助工具
- 使用索引生成查询
- 查询分析 - 什么工具,如何有效地做到这一点?
- 视觉设计工具 - 是否值得使用或更确切地说是简化结构?
最佳实践和命名约定 - 键、列、索引、表
构建最佳表结构
- 触发器:在程序和触发器中保持逻辑的良好做法 - 如何管理,如何测试,何时使用?
- 设计模式和反模式
是否值得切换到 MariaDB?
管理工具
- MySQL 工作台
- 纳维卡特
- 海蒂 SQL
Sites Published: