Mysql优化

tech2025-09-14  14

索引分类

普通索引:只起到加速的作用主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个唯一索引:加速查询 + 列值唯一(不可以有null)组合索引:多列值组成一个索引,注意:最左匹配原则全文索引 -- 创建普通索引 create index 索引名 on 表名(列名); -- 创建唯一索引 create unique index 索引名 on 表名(列名); -- 创建普通组合索引 create index 索引号 on 表名(列名1,列名2); -- 创建唯一组合索引 create unique index 索引号 on 表名(列名1,列名2);

索引创建原则

字段内数据的辨识度不能低于70%在经常需要 搜索 的列上建索引,这样会大大加快查找速度在经常需要 连接 的列上建索引,可以加快连接的速度。在经常需要 排序 的列上建索引,因为索引已经是排过序的,这样一来可以利用索引的排序,加快排序查询速度。注意:索引库的创建和维护都耗时间,不是越多越好 增删改都会是索引库更新,间接影响数据库效率

索引失效(优化层次)

模糊查询(like)的时候,以‘%’开头则会导致索引失效使用or查询,其中一个条件上没有索引 也会降低查询效率在索引列上进行计算的,索引失效 例如: where id+1=1234;使用 !=、 <> 、is null 、is not null、not 等也会失效组合索引的话,注意最左原则.必须按照组合顺序来写写条件,否则,组合索引就失效了

待补充

最新回复(0)