我的MySQL优化学习笔记
我的MySQL优化学习笔记
这是我自己的学习记录笔记,方便自己后续翻看,(如需要)也可共享出来供大家参考。
一、优化概述
1. 优化的目的是什么?
- 通过配置使现有的软件和硬件获得最佳性能【典型】
- 寻求机会该进MySQL软件本身
- 开发自己的存储引擎和硬件设备来扩展MySQL生态系统
2. 从哪里着手优化?
- 从数据库软件层面进行优化
- 从硬件层面进行优化
- 平衡便携性和性能
二、数据库软件层面的优化
1. 良好的基本设计
影响数据库性能的因素很多,但最重要的是“基本设计”。我们首先要确保我们的数据库基本设计良好。
a) 正确设计表结构
- 列的数据类型要正确
- 当表数据被经常修改时,表中列数尽可能少(即程序写入多,读取少)
- 当要分析大量的数据时,表中列数应该尽可能多(即程序读取多,写入少)
b) 查询时使用正确的索引
c) 使用正确的存储引擎以利用每个存储引擎的优势和特性
- InnoDB(事务存储引擎):新表的默认存储引擎,通常比设计简单的MyISAM好,特别是对于繁忙的数据库
- MyISAM(非事务存储引擎):设计简单

浙公网安备 33010602011771号