前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Percona Toolkit系列 — pt-duplicate-key-checker

Percona Toolkit系列 — pt-duplicate-key-checker

原创
作者头像
brightdeng@DBA
修改2021-05-07 10:19:14
1.6K1
修改2021-05-07 10:19:14
举报

前言

在数据库中,索引可以加快查询速度,但是索引并不是越多越好,索引过多会带来额外的维护成本,降低DML操作的效率。pt-duplicate-key-checker这个工具,通过SHOW CREATE TABLE检查每一张表,找出其中重复/冗余的索引。

pt-duplicate-key-checker

基本用法

(1)基本语法

pt-duplicate-key-checker [OPTIONS] [DSN]

(2)常见选项

--host:-h,IP地址
--port:-P,端口
--socket:-S,套接字文件
--user:-u,用户名
--password:-p,密码
--charset:-A,字符集
--ask-pass:提示手动输入密码
--database:-D,只检查指定的数据库
--engines:-e,只检查指定的存储引擎
--tables:只检查指定的表
--ignore-databases:忽略指定的数据库
--ignore-engines:忽略指定的存储引擎
--ignore-tables:忽略指定的表
--ignore-order:忽略索引字段的顺序,如KEY(a,b)和KEY(a,b)重复
--key-types:检查指定的索引类型,可设置f/k/fk,默认fk
--[no]sql:是否打印DROP KEY语句
--all-structs:是否对比不同类型的索引,比如BTREE/HASH/FULLTEXT

(3)DSN选项

h:IP地址
P:端口
S:套接字文件
u:用户名
p:密码
A:字符集
D:数据库
t:表

具体输出

$ pt-duplicate-key-checker h=10.1.4.9,P=10057,u=test,p=xxx
# ########################################################################
# test.sbtest                                                             
# ########################################################################

# k_1 is a left-prefix of idx_k_c
# Key definitions:
#   KEY `k_1` (`k`),
#   KEY `idx_k_c` (`k`,`c`)
# Column types:
#         `k` int(10) unsigned not null default '0'
#         `c` char(120) not null default ''
# To remove this duplicate index, execute:
ALTER TABLE `test`.`sbtest` DROP INDEX `k_1`;

# ########################################################################
# Summary of indexes                                                      
# ########################################################################

# Size Duplicate Indexes   40
# Total Duplicate Indexes  1
# Total Indexes            77

总结

通过pt-duplicate-key-checker这个工具,可以快速找出重复/冗余索引,非常方便。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • pt-duplicate-key-checker
    • 基本用法
      • 具体输出
      • 总结
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档