MySQL性能调优(添加索引)
MySQL性能调优(添加索引)
注意:索引只会提高查询的性能,并不会提高DML的性能,因为DML操作的执行会改变索引文件,需要修改对应的B+Tree的结构
MySQL的性能
# 查看mysql数据库执行性能(DML操作多 or DQL操作多)
show global status like 'Innodb_rows%';
针对数据查询效率低的问题,进行优化: 索引***(MySQL调优)
***
索引: 是一种数据结构 ( 树结构 -> B+树 )
索引分类: 主键索引 、 唯一索引 、普通索引
其中在建表的时候就可以通过添加主键约束,唯一约束的方式进行添加索引
alter table user add primary key (id); -- 当表中的数据量比较大时,建立索引也需要消耗时间
MySQL索引的语法:
索引的激活是看where条件的字段是否具有索引,如果有索引,通过 B+Tree的形式去查找相关数据
否则直接通过表的形式进行查找
对于相应的执行流程而言,是根据查询SQL语句的条件去和根节点中的索引进行匹配,匹配到对应的地址值,再进而往下面的非叶子节点继续找,最后在叶子节点匹配到对应的结果
创建索引的原则: