mysql 删除增加库中所有索引

青旅半醒 2022-12-27 07:24 253阅读 0赞
  1. -- drop and and index
  2. SELECT CONCAT('alter table ',i.TABLE_SCHEMA,'.',i.TABLE_NAME,' drop index ',i.INDEX_NAME,' ;') as exec
  3. FROM INFORMATION_SCHEMA.STATISTICS i
  4. #过滤主键索引
  5. WHERE TABLE_SCHEMA = 'wise_base_acl' AND i.INDEX_NAME <> 'PRIMARY' union all
  6. SELECT CONCAT('alter table ',i.TABLE_SCHEMA,'.',i.TABLE_NAME,' add index ',i.INDEX_NAME,'(',i.INDEX_NAME,')',' ;') as exec
  7. FROM INFORMATION_SCHEMA.STATISTICS i
  8. #过滤主键索引
  9. WHERE TABLE_SCHEMA = 'wise_base_acl' AND i.INDEX_NAME <> 'PRIMARY';
  10. alter table wise_base_acl.resource drop index merchant_id ;
  11. -- ...
  12. alter table wise_base_acl.resource add index merchant_id(merchant_id) ;
  13. -- ...
  14. -- if mysql version support (if exists/if not exists)
  15. SELECT CONCAT('alter table ',i.TABLE_SCHEMA,'.',i.TABLE_NAME,' drop index if exists ',i.INDEX_NAME,' ;') as exec
  16. FROM INFORMATION_SCHEMA.STATISTICS i
  17. #过滤主键索引
  18. WHERE TABLE_SCHEMA = 'wise_base_acl' AND i.INDEX_NAME <> 'PRIMARY' union all
  19. SELECT CONCAT('alter table ',i.TABLE_SCHEMA,'.',i.TABLE_NAME,' add index if not exists ',i.INDEX_NAME,'(',i.INDEX_NAME,')',' ;') as exec
  20. FROM INFORMATION_SCHEMA.STATISTICS i
  21. #过滤主键索引
  22. WHERE TABLE_SCHEMA = 'wise_base_acl' AND i.INDEX_NAME <> 'PRIMARY'

发表评论

表情:
评论列表 (有 0 条评论,253人围观)

还没有评论,来说两句吧...

相关阅读