Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  Optimization

第十章 优化

目录

10.1 优化概述
10.2 SQL语句的优化
10.2.1 选择语句的优化
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 多表的优化
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 对InnoDBDDL操作的优化
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 修复表语句s的优化
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 可切换优化s
10.9.3 优化器提示
10.9.4 索引提示
10.9.5 优化器成本模型
10.9.6 优化器统计
10.10 缓冲和缓存
10.10.1 InnoDB Buffer Pool 的优化
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 复制 Source 线程状态
10.14.5 复制 I/ O (Receiver) 线程状态
10.14.6 复制 SQL 线程状态
10.14.7 复制 Connection 线程状态
10.14.8 NDB 集群线程状态
10.14.9 事件调度器线程状态

本章节解释了如何优化MySQL性能,并提供了示例。优化涉及配置、调校和测量性能,在几个层面上进行。根据您的工作角色(开发者、DBA或两者的结合体),您可能会在SQL语句的级别、整个应用程序、单个数据库服务器或多个网络连接的数据库服务器中进行优化。在某些情况下,您可以事先计划性能以防止问题,在其他情况下,您可能需要在出现问题后调试配置或代码问题。优化CPU和内存使用还能提高扩展性,使得数据库能够处理更多负载而不会变慢。