MySQL数据库中怎么批量迁移表索引
这期内容当中小编将会给大家带来有关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
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数据库中怎么批量迁移表索引
URL分享:http://ybzwz.com/article/ijjgpg.html