展开全部

在一个生产库上,没有创建索引,是不可思议的,当然你的索引创e68a84e8a2ad62616964757a686964616f31333363373765建的太多了、冗余了,更是不可思议的。恰当的索引能够提高你的数据库性能,反之则提高维护成本,下面就介绍一款工具,来分析你的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]#

mysql 删除重复索引_如何检查mysql的重复索引相关推荐

  1. mysql删除check约束_高级SQL特性——约束与索引

    一.约束 1.约束的作用 对表中数据进行进一步限制,保证表中数据的完整性.一致性和正确性. 2.约束的分类 1)主键约束 主键能够唯一地标识表中的一行,比如学生表中的学生id. 它的主要作用就是能够将 ...

  2. mysql数据库是否存在_如何检查mysql数据库是否存在

    如何检查mysql数据库是否存在 是否可以在建立连接后检查(MySQL)数据库是否存在. 我知道如何检查数据库中是否存在表,但我需要检查数据库是否存在. 如果不是,我必须调用另一段代码来创建它并填充它 ...

  3. mysql删除数据库恢复_详解MySQL数据库恢复误删除数据

    血的教训,事发经过就不详述了.直接上操作步骤及恢复思路(友情提示:数据库的任何操作都要提前做好备份),以下是Mysql数据后的恢复过程: 1. 找到binlog 恢复数据的前提是必须开启Mysql的b ...

  4. mysql删除七天_自动备份mysql并删除7天前备份

    1.远程连接服务器 2.下载备份脚本文件 3.编辑脚本文件 windows: 用记事本打开bkupmysql.bat set dbuser=root                        #设 ...

  5. mysql慢时如何防止重复账户_如何进行mysql数据库的优化? --慢查询定位 --索引详解 -- 定时备份...

    mysql数据库优化的常见方法: 1.表的设计要合理(满足3NF) 3范式 2.创建适当索引[主键索引|唯一索引|普通索引|全文索引|空间索引] 3.对SQL语句优化---->定位慢查询(exp ...

  6. mysql导入dat文件_从零开始学习 MySQL 系列--索引、视图、导入和导出

    前言 上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识. 作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家会了解,尤其是关于索引的内 ...

  7. mysql维护索引_高性能的MySQL(5)索引策略-索引和表的维护

    维护表有三个主要的目的: 1.找到并修复损坏的表. 对于MyISAM存储引擎来说,表损坏通常是系统崩溃导致的.其他的引擎也会由于硬件的问题,MySQL本身的缺陷或者操作系统的问题导致索引的损坏. 损坏 ...

  8. mysql单列索引和多列索引_浅谈MySQL索引优化

    索引基础知识总结及常见索引优化手段 一.索引简介 什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构. 可以简单理解为"排好序的快速查找数据 ...

  9. mysql创建非聚集索引_一文看懂聚集索引和非聚集索引的区别

    一.深入浅出理解索引结构 实际上,可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonclu ...

最新文章

  1. Tarjan求割点桥
  2. leetcode704二分法:(左闭右闭+左闭右开)
  3. adobe audition cs6 能打开mpcm文件吗?_Adobe全家桶出现这些漏洞,赶紧上官网下载补丁吧...
  4. 模拟注册用户,按照以下要求实现相关功能:
  5. 类的6个默认成员函数:构造函数、析构函数、拷贝构造函数、重载运算符、三/五法则
  6. git如何解决冲突(代码托管在coding)
  7. 元类被称为 Python 中的“深奥的巫术“
  8. CSDN 文章自动显示全文
  9. 超详细java中的ClassLoader详解
  10. java代码pingip_java代码ping一个IP地址
  11. atitit。流程图的设计与制作 attilax 总结
  12. 联想G480改装固态硬盘、光驱变机械硬盘以及装系统(上)
  13. 第三方PDF查看--本地查看
  14. 大数据分析的学习感悟
  15. 20172328 2018-2019《Java软件结构与数据结构》第六周学习总结
  16. 1岁到1岁半宝宝食谱
  17. 嵌入式Linux入门-输入系统应用编程(鼠标、键盘、触摸屏)
  18. 手机远程服务器rd,手机远程连接服务器工具:RD client远程桌面使用教程
  19. (四)激活函数与loss梯度
  20. Executors工具类的相关方法

热门文章

  1. 【Python实战】Django建站笔记
  2. Using POI to replace elements in WORD(.docx/.doc)(使用POI替换word中的特定字符/文字)【改进】...
  3. ThreadPoolExecutor使用错误导致死锁
  4. linux shell 输出文件 指定行
  5. linux 僵尸进程 defunct
  6. MIPS SDE简介
  7. android cmd adb命令安装和删除apk应用
  8. delete指针之后应该赋值NULL
  9. C语言的那些秘密之---函数返回局部变量
  10. Linux2.6内核--抢占