查询Mysql索引信息,Polardb索引创建语法(不含主键索引)

场景:从mysql查出所有索引信息,在polardb批量重建索引。

select
	CONCAT( 
		'CREATE ', if ( NON_UNIQUE = 1,
    case UPPER(INDEX_TYPE)
        when 'FULLTEXT'
        then 'FULLTEXT INDEX'
        when 'SPATIAL'
        then 'SPATIAL INDEX'
        else CONCAT( 'INDEX ', INDEX_NAME, ' ON ',
			UPPER(TABLE_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 = 'andy_oa'
	and index_name != 'PRIMARY'
	-- 指定表名
	and TABLE_NAME = 'core_log'
group by
	TABLE_NAME,
	INDEX_NAME,
	NON_UNIQUE,
	INDEX_TYPE
order by
	TABLE_NAME asc,
	INDEX_NAME asc;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值