重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在一个生产库上,没有创建索引,是不可思议的,当然你的索引创建的太多了、冗余了,更是不可思议的。恰当的索引能够提高你的数据库性能,反之则提高维护成本,下面就介绍一款工具,来分析你的mysql库的索引是不是有冗余,pt-duplicate-key-checker,它能从mysql表中找出重复的索引和外键,这个工具会将重复的索引和外键都列出来,并生成删除重复索引的语句,非常方便。工具详细介绍请参考
公司主营业务:网站设计、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出桓仁免费做网站回馈大家。
官文:
直接上实例:
[root@localhost bin]# ./pt-duplicate-key-checker -h192.168.2.88
-unigel -p123456 -dnigel
#
########################################################################
#
nigel.a1
#
########################################################################
# dx_cd is a left-prefix of dx_cd_b
# Key definitions:
# KEY `dx_cd` (`cd`)
# KEY `dx_cd_b`
(`cd`,`b`),
# Column types:
#
`cd` varchar(50) default null
#
`b` varchar(100) default null
# To remove this duplicate index, execute:
ALTER TABLE `nigel`.`a1` DROP INDEX `dx_cd`;
#
########################################################################
#
nigel.students
#
########################################################################
# dx_n is a left-prefix of dx_n_s
# Key definitions:
# KEY `dx_n` (`name`),
# KEY `dx_n_s`
(`name`,`score`),
# Column types:
#
`name` varchar(25) default null
#
`score` int(5) unsigned not null
# To remove this duplicate index, execute:
ALTER TABLE `nigel`.`students` DROP INDEX `dx_n`;
#
########################################################################
# Summary of
indexes
#
########################################################################
# Size Duplicate Indexes
1348
# Total Duplicate Indexes 2
# Total
Indexes
8
[root@localhost bin]#
select * from credit
where project_credit_id in (
select max(project_credit_id) as project_credit_id from credit group by person_id,project_id having count(*)1
)
这个是查询语句前提是project_credit_id是主键,你核对一下没有问题的话,就把
select *改为delete就可以了
select *, count(distinct name) from table group by name
这个 你想去除那些重复 就直接在 distinct 后面 后group by 后面加 就可以了