mysql--索引优化

来源:互联网 发布:php抽奖概率算法 编辑:程序博客网 时间:2024/06/08 04:07

索引优化

索引的优点:
1、提高查询的效率:select

索引的缺点:
1、降低写入的效率:insert、update、delete
过多的索引不仅影响增加、修改、删除数据的效率,而且也影响查询的效率,这是因为查询的时候数据库需要选择使用索引进行查询呢,那么需要更合理的使用索引(增加合适的索引、删除重复的索引)

去除重复索引

现象

查询的时候,如果加载重复索引越多,速度越慢。

错误示范:

create table user( id int not null primary key, username varchar(10) not null, address varchar(50) not null, unique(id) ) engine=innodb;

查找

使用pt-duplicate-key-checker工具维护索引

冗余索引

Innodb 中,每个索引都会自动添加上主键,所以索引不用添加主键。错误示范:
create table user(
id int not null primary key,
username varchar(10) not null,
address varchar(50) not null,
key(name, id)
) engine=innodb;

使用pt-index-usage工具配合慢查日志删除索引

删除不用索引

目前MySQL中还没有记录索引的使用情况,但是在PerconMySQL和MariaDB中可以通过INDEX_STATISTICS表来查看那些索引未使用,但在MySQL中目前只能通过慢查日志配合pt-index-usage工具来进行索引使用情况的分析。

pt-index-usage \
-uroot -p” \
mysql -slow.log

注意一主多从

原创粉丝点击