--1.创建索引信息表

create table `t_index_update` (

`table_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,

`index_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,

`index_cols` varchar(100) COLLATE gbk_bin DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;

--2.插入线下索引信息表

insert into t_index_update()

select

table_name,

index_name,

group_concat(distinct concat(‘`‘, column_name, ‘`‘) order by seq_in_index asc separator ‘, ‘) as index_cols

from information_schema.STATISTICS

where  table_schema= ‘elk‘

and column_name<>‘seq_id‘

and index_name<>‘primary‘

group by table_name, index_name

order by table_name asc, index_name asc;

--3.同步线下索引信息表到线上

--4.构建删除和修改过的索引的删除语句

select concat(‘alter table `‘,a.table_name,‘` drop index ‘,a.index_name,‘;‘)

from

(

select

table_name,

index_name,

group_concat(distinct concat(‘`‘, column_name, ‘`‘) order by seq_in_index asc separator ‘, ‘) as index_cols

from information_schema.STATISTICS

where  table_schema= ‘elk‘

and column_name<>‘seq_id‘

and index_name<>‘primary‘

group by table_name, index_name

) a

left join t_index_update b on b.table_name and b.index_name=a.index_name and b.index_cols=a.index_cols

where b.index_name is null;

--5.构建新加索引的的新加语句

select concat(‘alter table `‘,a.table_name,‘` add index ‘,a.index_name,‘(‘,a.index_cols,‘);‘)

from t_index_update a

left join (

select

table_name,

index_name,

group_concat(distinct concat(‘`‘, column_name, ‘`‘) order by seq_in_index asc separator ‘, ‘) as index_cols

from information_schema.STATISTICS

where  table_schema= ‘elk‘

and column_name<>‘seq_id‘

and index_name<>‘primary‘

group by table_name, index_name

) b   on b.table_name and b.index_name=a.index_name and b.index_cols=a.index_cols

where b.index_name is null;

原文:http://www.cnblogs.com/dbaljc/p/7158589.html

mysql生产环境加索引_MySQl开发和生产环境索引对比相关推荐

  1. 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样...

    在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": {"publish-m ...

  2. mysql左模糊 走索引_mysql的模糊查找是否走索引问题

    2019独角兽企业重金招聘Python工程师标准>>> 在数据库中索引对于查找是非常有用的,楼主做了两个实验,插入数据的时候非常慢,楼主是这样实验的: 一:数据库列的索引 ①:首先执 ...

  3. mysql 连接查询索引_Mysql (四)连接查询和索引

    一.什么是连接查询:就是将二个或二个以上的表,"连接起来"当做一个数据源,并从中去取得所须要的数据.连接查询包括交叉连接查询.内连接查询.外连接查询 (一)交叉连接:交叉连接不带W ...

  4. mysql 去掉复合索引_MySQL性能优化[实践篇]-复合索引实例

    上篇文章最后提了个问题 假设某个表有一个**复合索引(c1,c2,c3,c4)**,问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些 1. where c1=x and c2=x and ...

  5. mysql 多表 三表 删除_mysql 多表join查询索引优化

    数据准备 CREATE TABLE IF NOT EXISTS `class` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `card` int( ...

  6. mysql+index组合索引_MySQL 优化之 index merge(索引合并)

    标签: MySQL5.0之前,一条语句中一个表只能使用一个索引,无法同时使用多个索引.但是从5.1开始,引入了 index merge 优化技术,对同一个表可以使用多个索引.理解了 index mer ...

  7. mysql按升序创建索引_Mysql中的降序索引底层实现

    什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...

  8. mysql 如何添加索引_MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】...

    MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...

  9. mysql建表语句主键索引_MySQL添加主键、索引

    查看索引 SHOW INDEX FROM  数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...

最新文章

  1. SAP MM 供应商Rebate中的财务配置
  2. 前端之javaScript
  3. mysql搭建主主_mysql主主配置
  4. 关于MySQL线程池,这也许是目前最全面的实用帖!(转载)
  5. 好看的按钮组件_一个能决定命运的按钮,你敢来挑战吗?
  6. 编译时错误之 error C2338: tuple_element index out of bounds
  7. C语言重难点:内存对齐和位段
  8. Leetcode之合并区间
  9. php %3cpre%3c pre%3e,实验报告五 web 攻击靶机解题过程(未完成)
  10. 51单片机原理以及接口技术(二)-单片机结构和原理
  11. shell--bash变量
  12. 谈一谈游戏AI - 行为树
  13. 搭建个人网站没有公网IP地址可以吗?
  14. 安装爬虫框架Scrapy,安装后运行不了~
  15. 众筹时代 - Web众筹平台
  16. ShortCut Key——Google
  17. C++分糖果-真题红太阳幼儿园有n个小朋友,你是其中之一。保证n≥2。有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是个平平无奇的幼儿园小朋友,
  18. tikz 折线 箭头_[LaTeX 绘图] tikz 绘制流程图,概述和两个示例
  19. 电子商务法律规范与伦理道德(七)
  20. 文件隐藏服务器版本信息,隐藏版本信息

热门文章

  1. jsp窗口关闭的触发函数
  2. 2012组策略自动部署wsus
  3. 来自mooon的最简单的日志类CSimpleLogger
  4. 《精通Unix下C语言与项目实践》读书笔记(16)
  5. 比特币的挑战者 BCH 带着开发者们来到湾区了!
  6. OP_Codes为BCH带来更多更好的解决方案
  7. Magento 模版路径
  8. 2019年pta作业第二题——求最大值及其下标
  9. lxml xpath 爬取并正常显示中文内容
  10. 使用rsync实现数据实时同步备份--实战