这期内容当中小编将会给大家带来有关MySQL数据库中怎么批量迁移表索引,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1. 导出所有索引

包括PRIMARY KEY和INDEX

SELECTCONCAT('ALTERTABLE`',TABLE_NAME,'`','ADD',IF(NON_UNIQUE=1,CASEUPPER(INDEX_TYPE)WHEN'FULLTEXT'THEN'FULLTEXTINDEX'WHEN'SPATIAL'THEN'SPATIALINDEX'ELSECONCAT('INDEX`',INDEX_NAME,'`USING',INDEX_TYPE)END,IF(UPPER(INDEX_NAME)='PRIMARY',CONCAT('PRIMARYKEYUSING',INDEX_TYPE),CONCAT('UNIQUEINDEX`',INDEX_NAME,'`USING',INDEX_TYPE))),'(',GROUP_CONCAT(DISTINCTCONCAT('`',COLUMN_NAME,'`')ORDERBYSEQ_IN_INDEXASCSEPARATOR','),');')AS'Show_Add_Indexes'FROMinformation_schema.STATISTICSWHERETABLE_SCHEMA='FSL_ATT_UAT'GROUPBYTABLE_NAME,INDEX_NAMEORDERBYTABLE_NAMEASC,INDEX_NAMEASC

2. 不包括PRIMARY KEY,只包含INDEX

SELECTCONCAT('ALTERTABLE`',TABLE_NAME,'`','ADD',IF(NON_UNIQUE=1,CASEUPPER(INDEX_TYPE)WHEN'FULLTEXT'THEN'FULLTEXTINDEX'WHEN'SPATIAL'THEN'SPATIALINDEX'ELSECONCAT('INDEX`',INDEX_NAME,'`USING',INDEX_TYPE)END,IF(UPPER(INDEX_NAME)='PRIMARY',CONCAT('PRIMARYKEYUSING',INDEX_TYPE),CONCAT('UNIQUEINDEX`',INDEX_NAME,'`USING',INDEX_TYPE))),'(',GROUP_CONCAT(DISTINCTCONCAT('`',COLUMN_NAME,'`')ORDERBYSEQ_IN_INDEXASCSEPARATOR','),');')AS'Show_Add_Indexes'FROMinformation_schema.STATISTICSWHERETABLE_SCHEMA='fsl_att_uat'ANDUPPER(INDEX_NAME)!='PRIMARY'GROUPBYTABLE_NAME,INDEX_NAMEORDERBYTABLE_NAMEASC,INDEX_NAMEASC

上述就是小编为大家分享的MySQL数据库中怎么批量迁移表索引了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。