Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


MySQL 查询冗余索引

MySQL 索引 评论 1 大约 569 字

索引冗余 SQL

SELECT a.TABLE_SCHEMA, a.TABLE_NAME, a.COLUMN_NAME, 
a.INDEX_NAME AS 'index1', b.INDEX_NAME AS 'index2'
FROM information_schema.STATISTICS a 
JOIN information_schema.STATISTICS b 
ON a.TABLE_SCHEMA = b.TABLE_SCHEMA    
AND a.TABLE_NAME = b.TABLE_NAME 
AND a.SEQ_IN_INDEX = b.SEQ_IN_INDEX   
AND a.COLUMN_NAME = b.COLUMN_NAME 
WHERE a.SEQ_IN_INDEX = 1 AND a.INDEX_NAME <> b.INDEX_NAME

冗余索引清理规则

  • 第一个索引是第二个索引的左前缀索引, 删除第一个索引
  • 有主键, 用不到唯一索引, 删除唯一索引
  • 有主键, 用不到普通索引, 删除普通索引
  • 有唯一索引, 用不到普通索引, 删除普通索引
  • 有联合主键索引, 用不到普通组合索引, 删除普通组合索引
  • 索引重复, 删除其中一个索引
  • 普通索引默认以主键索引做后缀, 重建普通索引
阅读 2681 · 发布于 2019-04-07

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
  • fHLvlxbf 1楼
    e
    Chrome | Windows 10 2023-07-24
随便看看 换一批