MySQL 查询冗余索引

MySQL 索引 About 569 words

索引冗余 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

冗余索引清理规则

  • 第一个索引是第二个索引的左前缀索引, 删除第一个索引
  • 有主键, 用不到唯一索引, 删除唯一索引
  • 有主键, 用不到普通索引, 删除普通索引
  • 有唯一索引, 用不到普通索引, 删除普通索引
  • 有联合主键索引, 用不到普通组合索引, 删除普通组合索引
  • 索引重复, 删除其中一个索引
  • 普通索引默认以主键索引做后缀, 重建普通索引
Views: 3,041 · Posted: 2019-04-07

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

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

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


Today On History
Browsing Refresh