我的编程空间,编程开发者的网络收藏夹
学习永远不晚

生成 MySQL 删除索引、创建索引、分析表的 SQL 语句

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

生成 MySQL 删除索引、创建索引、分析表的 SQL 语句

目录

1. 生成删除索引的 SQL 语句

2. 生成创建索引的 SQL 语句

3. 生成分析表的 SQL 语句


1. 生成删除索引的 SQL 语句

mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -e "select concat('alter table \`',table_schema,'\`.\`',table_name,'\` ',drop_index,';')  from (select table_schema, table_name, group_concat(if(index_name='PRIMARY','drop primary key',concat('drop index \`',index_name,'\`'))) drop_index  from (select distinct table_schema, table_name, index_name  from information_schema.statistics where table_schema in ('test')   and (table_schema, table_name, index_name) not in (select t1.table_schema, t1.table_name, t1.index_name  from information_schema.statistics t1, information_schema.columns t2 where t1.table_schema in ('test')   and t1.table_schema = t2.table_schema and t1.table_name = t2.table_name and t1.column_name = t2.column_name   and t2.extra='auto_increment')) t group by table_schema, table_name) t;" -N > drop_index.sql

2. 生成创建索引的 SQL 语句

mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -e "select concat('alter table \`',table_schema,'\`.\`',table_name,'\` ',create_index,';')  from (select table_schema, table_name, group_concat(if(index_name='PRIMARY',concat('add primary key (',index_columns,')'),concat('add index \`',index_name,'\` (',index_columns,')'))) create_index  from (select table_schema, table_name, index_name, group_concat(concat('\`',column_name,'\`', if(sub_part is null,'',concat('(',sub_part,')'))) order by seq_in_index) index_columns  from information_schema.statistics where table_schema in ('test')   and (table_schema, table_name, index_name) not in (select t1.table_schema, t1.table_name, t1.index_name  from information_schema.statistics t1, information_schema.columns t2 where t1.table_schema in ('test')   and t1.table_schema = t2.table_schema and t1.table_name = t2.table_name and t1.column_name = t2.column_name   and t2.extra='auto_increment') group by table_schema, table_name, index_name) t group by table_schema, table_name) t;" -N > create_index.sql

3. 生成分析表的 SQL 语句

mysql -uwxy -p12345 -S /data/18253/mysqldata/mysql.sock -e "select concat('analyze table \`',table_schema,'\`.\`',table_name,'\`;')   from information_schema.tables  where table_schema in ('test');" -N > analyze_table.sql

来源地址:https://blog.csdn.net/wzy0623/article/details/132625216

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

生成 MySQL 删除索引、创建索引、分析表的 SQL 语句

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议

db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议   1、建立表索引     create index 索引名 on 表名(列名,列名); 2、删除表索引     drop index 索引名 3、查看
db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议
2018-09-15

怎么创建联合索引的sql语句

要创建联合索引,你需要使用CREATE INDEX语句,并在索引名称后面列出要包含在索引中的列名列表。以下是一个示例SQL语句来创建一个联合索引:```CREATE INDEX idx_name ON table_name (column1
2023-10-12

如何实现MySQL中删除索引的语句?

如何实现MySQL中删除索引的语句?在MySQL中,索引是提高查询性能的重要工具之一。然而,有时候我们需要删除某个表的索引,可能是因为索引不再使用或者需要重新设计。本文将介绍如何在MySQL中删除索引的语句,并给出具体的代码示例。在MySQ
如何实现MySQL中删除索引的语句?
2023-11-08

如何实现MySQL中创建索引的语句?

MySQL索引是提高数据检索速度的重要手段之一,它通过将数据存储在特定的数据结构中,加快了查询语句的执行速度。在MySQL中创建索引的语句非常简单,只需要在创建表的时候在相关字段后加上索引关键字即可。本文将为读者详细介绍如何在MySQL中创
如何实现MySQL中创建索引的语句?
2023-11-08

MySQL索引创建原则的示例分析

小编给大家分享一下MySQL索引创建原则的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、适合创建索引1、字段的数值有唯一性限制根据Alibaba规范,
2023-06-29

Mysql索引创建删除及使用的代价是什么

本篇内容介绍了“Mysql索引创建删除及使用的代价是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Mysql 中索引的创建删除inn
2023-06-30

编程热搜

目录