mysql生产环境加索引_MySQl开发和生产环境索引对比
--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开发和生产环境索引对比相关推荐
- 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样...
在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": {"publish-m ...
- mysql左模糊 走索引_mysql的模糊查找是否走索引问题
2019独角兽企业重金招聘Python工程师标准>>> 在数据库中索引对于查找是非常有用的,楼主做了两个实验,插入数据的时候非常慢,楼主是这样实验的: 一:数据库列的索引 ①:首先执 ...
- mysql 连接查询索引_Mysql (四)连接查询和索引
一.什么是连接查询:就是将二个或二个以上的表,"连接起来"当做一个数据源,并从中去取得所须要的数据.连接查询包括交叉连接查询.内连接查询.外连接查询 (一)交叉连接:交叉连接不带W ...
- mysql 去掉复合索引_MySQL性能优化[实践篇]-复合索引实例
上篇文章最后提了个问题 假设某个表有一个**复合索引(c1,c2,c3,c4)**,问以下查询中只能使用该复合索引的c1,c2,c3部分的有那些 1. where c1=x and c2=x and ...
- mysql 多表 三表 删除_mysql 多表join查询索引优化
数据准备 CREATE TABLE IF NOT EXISTS `class` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `card` int( ...
- mysql+index组合索引_MySQL 优化之 index merge(索引合并)
标签: MySQL5.0之前,一条语句中一个表只能使用一个索引,无法同时使用多个索引.但是从5.1开始,引入了 index merge 优化技术,对同一个表可以使用多个索引.理解了 index mer ...
- mysql按升序创建索引_Mysql中的降序索引底层实现
什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...
- mysql 如何添加索引_MySQL如何创建一个好索引?创建索引的5条建议【宇哥带你玩转MySQL 索引篇(三)】...
MySQL如何创建一个好索引?创建索引的5条建议 过滤效率高的放前面 对于一个多列索引,它的存储顺序是先按第一列进行比较,然后是第二列,第三列...这样.查询时,如果第一列能够排除的越多,那么后面列需 ...
- mysql建表语句主键索引_MySQL添加主键、索引
查看索引 SHOW INDEX FROM 数据库表名 比如:SHOW INDEX FROM order_info; 添加索引 alter table 数据库add index 索引名称(数据库字段名 ...
最新文章
- SAP MM 供应商Rebate中的财务配置
- 前端之javaScript
- mysql搭建主主_mysql主主配置
- 关于MySQL线程池,这也许是目前最全面的实用帖!(转载)
- 好看的按钮组件_一个能决定命运的按钮,你敢来挑战吗?
- 编译时错误之 error C2338: tuple_element index out of bounds
- C语言重难点:内存对齐和位段
- Leetcode之合并区间
- php %3cpre%3c pre%3e,实验报告五 web 攻击靶机解题过程(未完成)
- 51单片机原理以及接口技术(二)-单片机结构和原理
- shell--bash变量
- 谈一谈游戏AI - 行为树
- 搭建个人网站没有公网IP地址可以吗?
- 安装爬虫框架Scrapy,安装后运行不了~
- 众筹时代 - Web众筹平台
- ShortCut Key——Google
- C++分糖果-真题红太阳幼儿园有n个小朋友,你是其中之一。保证n≥2。有一天你在幼儿园的后花园里发现无穷多颗糖果,你打算拿一些糖果回去分给幼儿园的小朋友们。由于你只是个平平无奇的幼儿园小朋友,
- tikz 折线 箭头_[LaTeX 绘图] tikz 绘制流程图,概述和两个示例
- 电子商务法律规范与伦理道德(七)
- 文件隐藏服务器版本信息,隐藏版本信息