MySQL数据库中怎么批量迁移表索引
这期内容当中小编将会给大家带来有关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数据库中怎么批量迁移表索引了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。