文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


第 10 章 优化

目录

10.1 优化概述
10.2 优化 SQL 语句
10.2.1 优化 SELECT 语句
10.2.2 优化子查询、派生表、视图引用和公用表表达式
10.2.3 优化 INFORMATION_SCHEMA 查询
10.2.4 优化性能模式查询
10.2.5 优化数据更改语句
10.2.6 优化数据库权限
10.2.7 其他优化技巧
10.3 优化和索引
10.3.1 MySQL 如何使用索引
10.3.2 主键优化
10.3.3 空间索引优化
10.3.4 外键优化
10.3.5 列索引
10.3.6 多列索引
10.3.7 验证索引使用
10.3.8 InnoDB 和 MyISAM 索引统计信息收集
10.3.9 B 树和哈希索引的比较
10.3.10 索引扩展的使用
10.3.11 优化器对生成列索引的使用
10.3.12 不可见索引
10.3.13 降序索引
10.3.14 从 TIMESTAMP 列进行索引查找
10.4 优化数据库结构
10.4.1 优化数据大小
10.4.2 优化 MySQL 数据类型
10.4.3 优化多表
10.4.4 MySQL 中内部临时表的使用
10.4.5 数据库和表数量限制
10.4.6 表大小限制
10.4.7 表列数和行大小限制
10.5 优化 InnoDB 表
10.5.1 优化 InnoDB 表的存储布局
10.5.2 优化 InnoDB 事务管理
10.5.3 优化 InnoDB 只读事务
10.5.4 优化 InnoDB 重做日志记录
10.5.5 InnoDB 表的批量数据加载
10.5.6 优化 InnoDB 查询
10.5.7 优化 InnoDB DDL 操作
10.5.8 优化 InnoDB 磁盘 I/O
10.5.9 优化 InnoDB 配置变量
10.5.10 针对具有多个表的系统优化 InnoDB
10.6 优化 MyISAM 表
10.6.1 优化 MyISAM 查询
10.6.2 MyISAM 表的批量数据加载
10.6.3 优化 REPAIR TABLE 语句
10.7 优化 MEMORY 表
10.8 了解查询执行计划
10.8.1 使用 EXPLAIN 优化查询
10.8.2 EXPLAIN 输出格式
10.8.3 扩展 EXPLAIN 输出格式
10.8.4 获取命名连接的执行计划信息
10.8.5 估计查询性能
10.9 控制查询优化器
10.9.1 控制查询计划评估
10.9.2 可切换优化
10.9.3 优化器提示
10.9.4 索引提示
10.9.5 优化器成本模型
10.9.6 优化器统计信息
10.10 缓冲和缓存
10.10.1 InnoDB 缓冲池优化
10.10.2 MyISAM 键缓存
10.10.3 预处理语句和存储程序的缓存
10.11 优化锁定操作
10.11.1 内部锁定方法
10.11.2 表锁定问题
10.11.3 并发插入
10.11.4 元数据锁定
10.11.5 外部锁定
10.12 优化 MySQL 服务器
10.12.1 优化磁盘 I/O
10.12.2 使用符号链接
10.12.3 优化内存使用
10.13 测量性能(基准测试)
10.13.1 测量表达式和函数的速度
10.13.2 使用您自己的基准测试
10.13.3 使用 performance_schema 测量性能
10.14 检查服务器线程(进程)信息
10.14.1 访问进程列表
10.14.2 线程命令值
10.14.3 常规线程状态
10.14.4 复制源线程状态
10.14.5 复制 I/O(接收器)线程状态
10.14.6 复制 SQL 线程状态
10.14.7 复制连接线程状态
10.14.8 NDB 集群线程状态
10.14.9 事件调度程序线程状态

本章介绍如何优化 MySQL 性能并提供示例。优化涉及在多个级别配置、调整和测量性能。根据您的工作角色(开发人员、DBA 或两者兼而有之),您可以在单个 SQL 语句、整个应用程序、单个数据库服务器或多个联网数据库服务器的级别进行优化。有时,您可以积极主动地提前规划性能,而有时,您可能需要在问题发生后解决配置或代码问题。优化 CPU 和内存使用率还可以提高可扩展性,使数据库能够处理更多负载而不会减慢速度。