温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL数据库中怎么批量迁移表索引

发布时间:2021-08-13 15:21:27 来源:亿速云 阅读:174 作者:Leah 栏目:数据库

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

1. 导出所有索引

包括PRIMARY KEY和INDEX

SELECT     CONCAT(         'ALTER TABLE `',         TABLE_NAME,         '` ',         'ADD ',     IF         (             NON_UNIQUE = 1,         CASE                 UPPER( INDEX_TYPE )                  WHEN 'FULLTEXT' THEN                 'FULLTEXT INDEX'                  WHEN 'SPATIAL' THEN                 'SPATIAL INDEX' ELSE CONCAT( 'INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE )              END,         IF             ( UPPER( INDEX_NAME ) = 'PRIMARY', CONCAT( 'PRIMARY KEY USING ', INDEX_TYPE ), CONCAT( 'UNIQUE INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE ) )          ),         '(',         GROUP_CONCAT( DISTINCT CONCAT ( '`', COLUMN_NAME, '`' ) ORDER BY SEQ_IN_INDEX ASC SEPARATOR ', ' ),         ');'  ) AS 'Show_Add_Indexes'  FROM     information_schema.STATISTICS  WHERE     TABLE_SCHEMA = 'FSL_ATT_UAT'  GROUP BY     TABLE_NAME,     INDEX_NAME  ORDER BY     TABLE_NAME ASC,     INDEX_NAME ASC

MySQL数据库中怎么批量迁移表索引

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

SELECT     CONCAT(         'ALTER TABLE `',         TABLE_NAME,         '` ',         'ADD ',     IF         (             NON_UNIQUE = 1,         CASE                 UPPER ( INDEX_TYPE )                  WHEN 'FULLTEXT' THEN                 'FULLTEXT INDEX'                  WHEN 'SPATIAL' THEN                 'SPATIAL INDEX' ELSE CONCAT ( 'INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE )              END,         IF             ( UPPER( INDEX_NAME ) = 'PRIMARY', CONCAT( 'PRIMARY KEY USING ', INDEX_TYPE ), CONCAT( 'UNIQUE INDEX `', INDEX_NAME, '` USING ', INDEX_TYPE ) )          ),         '(',         GROUP_CONCAT( DISTINCT CONCAT ( '`', COLUMN_NAME, '`' ) ORDER BY SEQ_IN_INDEX ASC SEPARATOR ', ' ),         ');'  ) AS 'Show_Add_Indexes'  FROM     information_schema.STATISTICS  WHERE     TABLE_SCHEMA = 'fsl_att_uat'      AND UPPER( INDEX_NAME ) != 'PRIMARY'  GROUP BY     TABLE_NAME,     INDEX_NAME  ORDER BY     TABLE_NAME ASC,     INDEX_NAME ASC

MySQL数据库中怎么批量迁移表索引

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI