MySQL中怎么利用pt-duplicate-key-checker找出冗余、重复索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

解压pt软件
# tar xfz percona-toolkit-3.0.2_x86_64.tar.gz

安装对应的perl依赖包
# yum install perl-DBI
# yum install perl-DBD-MySQL

执行pt-duplicate-key-checker命令

# ./bin/pt-duplicate-key-checker -uroot -pcnstrong#123454321 -S /data/mysql01/mysql.sock

# ########################################################################

# beike.ls_lesson

# ########################################################################


# index_lesson_classSubjId is a left-prefix of index_lesson_classSubjId_startTime

# Key definitions:

# KEY `index_lesson_classSubjId` (`classSubjId`),

# KEY `index_lesson_classSubjId_startTime` (`classSubjId`,`startTime`)

# Column types:

# `classsubjid` bigint(20) default null comment '????id'

# `starttime` timestamp null default null comment '????'

# To remove this duplicate index, execute:

ALTER TABLE `beike`.`ls_lesson` DROP INDEX `index_lesson_classSubjId`;


# ########################################################################

# course.QRTZ_BLOB_TRIGGERS

# ########################################################################


# SCHED_NAME is a duplicate of PRIMARY

# Key definitions:

# KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),

# PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),

# Column types:

# `sched_name` varchar(120) not null

# `trigger_name` varchar(200) not null

# `trigger_group` varchar(200) not null

# To remove this duplicate index, execute:

ALTER TABLE `course`.`QRTZ_BLOB_TRIGGERS` DROP INDEX `SCHED_NAME`;


# ########################################################################

# course.QRTZ_FIRED_TRIGGERS

# ########################################################################


# IDX_QRTZ_FT_TRIG_INST_NAME is a left-prefix of IDX_QRTZ_FT_INST_JOB_REQ_RCVRY

# Key definitions:

# KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),

# KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),

# Column types:

# `sched_name` varchar(120) not null

# `instance_name` varchar(200) not null

# `requests_recovery` varchar(1) default null

# To remove this duplicate index, execute:

ALTER TABLE `course`.`QRTZ_FIRED_TRIGGERS` DROP INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`;

看完上述内容,你们掌握MySQL中怎么利用pt-duplicate-key-checker找出冗余、重复索引的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!