请教pt-duplicate-key-checker方法,发现有部分冗余索引没提示

lanbaibai 2013-11-14 10:14:23
CREATE TABLE `topic_indicator` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`topic_id` bigint(20) NOT NULL,
`computation_day` bigint(20) NOT NULL,
`publish_at` bigint(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `topic_indicator_guid` (`topic_id`,`computation_day`),
KEY `idx_computation_day` (`computation_day`),
KEY `idx_topic_computation_publish` (`topic_id`,`computation_day`,`publish_at`)
) ENGINE=InnoDB AUTO_INCREMENT=800561 DEFAULT CHARSET=utf8;

我有一张表,表结构如上,UNIQUE KEY `topic_indicator_guid`和KEY `idx_topic_computation_publish` 索引是冗余的。
但是我用
pt-duplicate-key-checker --host=127.0.0.1 --user=root --password=123456 --port=3307
却没有提示索引冗余,而且我发现如果索引的第一个字段是主键ID,也不会报索引冗余。
...全文
229 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ys1109 2013-11-14
  • 打赏
  • 举报
回复
pt-duplicate-key-checker: 功能为从mysql表中找出重复的索引和外键,这个工具会将重复的索引和外键都列出来,并生成了删除重复索引的语句, 而lz,表结构如上,UNIQUE KEY `topic_indicator_guid`和KEY `idx_topic_computation_publish`,是2个不同类型索引列
rucypli 2013-11-14
  • 打赏
  • 举报
回复
这个不算冗余吧
ACMAIN_CHM 2013-11-14
  • 打赏
  • 举报
回复
pt-duplicate-key-checker 显然不可信。
lanbaibai 2013-11-14
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
这个不算冗余吧
`topic_id`,`computation_day`字段 在idx_topic_computation_publish和topic_indicator_guid索引中都是前置字段。 这要是不算冗余索引,那什么算。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧