--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;
MySQl在开发和生产不同环境下的索引对比
来源:这里教程网
时间:2026-02-28 10:47:18
作者:
编辑推荐:
- MySQl在开发和生产不同环境下的索引对比02-28
- Mysql存储写入速度快慢是怎么形成的?02-28
- MySQL--pt-osc的介绍与使用02-28
- SQLServer转MYSQL的方法详解02-28
- 几种MySQL数据库的优化方案02-28
- 用xtrabackup备份mysql数据库方法指导02-28
- 用MYSQL替换时间字段且时分秒不变的方法02-28
- MySQL的入门介绍02-28
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Mysql存储写入速度快慢是怎么形成的?
Mysql存储写入速度快慢是怎么形成的?
26-02-28 - SQLServer转MYSQL的方法详解
SQLServer转MYSQL的方法详解
26-02-28 - 几种MySQL数据库的优化方案
几种MySQL数据库的优化方案
26-02-28 - 用xtrabackup备份mysql数据库方法指导
用xtrabackup备份mysql数据库方法指导
26-02-28 - MYSQL的排序sql语句
MYSQL的排序sql语句
26-02-28 - MySQL用户权限管理实例详解
MySQL用户权限管理实例详解
26-02-28 - 详解MySQL JOIN原理介绍
详解MySQL JOIN原理介绍
26-02-28 - mysql中的跨库关联查询方法详解
mysql中的跨库关联查询方法详解
26-02-28 - mysql怎么将多行数据合并成一行
mysql怎么将多行数据合并成一行
26-02-28 - Mysql数据库性能优化你知道吗?
Mysql数据库性能优化你知道吗?
26-02-28
