都有哪些维度可以进行数据库调优?简言之:
- 索引失效、没有充分利用到索引——建立索引
- 关联查询太多JOIN(设计缺陷或不得已的需求)——SQL优化
- 服务器调优及各个参数设置(缓冲、线程数等)——调整my.cnf
- 数据过多——分库分表
关于数据库调优的知识非常分散。不同的DBMS,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。这里我们分为三个章节进行细致讲解。
虽然SQL查询优化的技术有很多,但是大方向上完全可以分成物理查询优化
和逻辑查询优化
两大块。
- 物理查询优化是通过
索引
和表连接方式
等技术来进行优化,这里重点需要掌握索引的使用。 - 逻辑查询优化就是通过SQL
等价变换
提升查询效率,直白一点就是说,换一种查询写法效率可能更高。
一、数据准备
学员表 插 50万 条, 班级表 插 1万 条。
CREATE DATABASE atguigudb2; USE atguigudb2;