处理一次物流系统mysql大并发全表扫描SQL增加索引的过程
来源:互联网 发布:网页美工培训 编辑:程序博客网 时间:2024/06/10 05:59
1.查出与表相关的会话,并杀之
select concat("kill ", id,";") from information_schema.processlist where user='hlsprod' and info like '%task_detail%' into outfile '/tmp/1.sql';
source '/tmp/1.sql';
2.建立新表结构
create table task_detail_new like task_detail;
3.新表上增加索引
a.在线增加
ALTER TABLE `task_detail_new`ADD INDEX `idx4` (`referenceId`);
b.pt-osc增加
cd /apps/sh/tool/percona-toolkit/bin
./pt-online-schema-change --host=192.168.1.2 -u root -p xxx --alter='add key idx4(referenceId)' --print --execute D=wmsb,t=task_detail_new
4.将原表的数据插入到新表
insert into task_detail_new select * from task_detail;
5.将原表改名
ALTER TABLE task_detail RENAME to task_detail_old;
6.将新表改回原表名
ALTER TABLE task_detail_new RENAME to task_detail;
7.最后一步需要检查表结构和数据是否跟原表一致
select count(*) from task_detail;
select count(*) from task_detail_old;
show create table task_detail\G
show create table task_detail_old\G
select concat("kill ", id,";") from information_schema.processlist where user='hlsprod' and info like '%task_detail%' into outfile '/tmp/1.sql';
source '/tmp/1.sql';
2.建立新表结构
create table task_detail_new like task_detail;
3.新表上增加索引
a.在线增加
ALTER TABLE `task_detail_new`ADD INDEX `idx4` (`referenceId`);
b.pt-osc增加
cd /apps/sh/tool/percona-toolkit/bin
./pt-online-schema-change --host=192.168.1.2 -u root -p xxx --alter='add key idx4(referenceId)' --print --execute D=wmsb,t=task_detail_new
4.将原表的数据插入到新表
insert into task_detail_new select * from task_detail;
5.将原表改名
ALTER TABLE task_detail RENAME to task_detail_old;
6.将新表改回原表名
ALTER TABLE task_detail_new RENAME to task_detail;
7.最后一步需要检查表结构和数据是否跟原表一致
select count(*) from task_detail;
select count(*) from task_detail_old;
show create table task_detail\G
show create table task_detail_old\G
阅读全文
0 0
- 处理一次物流系统mysql大并发全表扫描SQL增加索引的过程
- mysql索引与全表扫描
- mysql 全表扫描、全索引扫描、索引覆盖(覆盖索引)
- MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析
- 索引扫描的过程
- 全表扫描和索引扫描的区别
- 全表扫描和索引扫描的区别
- 一次增加表空间的过程
- SQL 数据优化索引建suo避免全表扫描
- 全表扫描 vs 索引
- 导致全表扫描的SQL
- 避免全表扫描的sql优化
- 造成mysql全表扫描的原因
- Mysql避免全表扫描的方法
- 使用索引快速全扫描(Index FFS)避免全表扫描的若干场景
- 【翻译自mos文章】SYS_OP_C2C 导致的全表扫描(fts)/全索引扫描
- 索引全扫描与索引快速扫描的区别
- Mysql避免全表扫描sql查询优化
- 特征工程:机器学习中的特征与标签自然语言化
- 基于MySQL的架构优化
- 20171114_1
- 多线程进阶与源码分析--synchronized与volatile实践场景(二)
- Java File创建路径和类加载器加载路径小细节
- 处理一次物流系统mysql大并发全表扫描SQL增加索引的过程
- 他们怎么什么都会。。。。。。杨辉三角
- #java#点击按钮,文本框输出相应内容
- PAT (Basic Level) Practise (中文)1059. C语言竞赛(20)
- 欢迎使用CSDN-markdown编辑器
- uva 10092 The Problem with the Problem Setter 二分图匹配 匈牙利算法
- Django学习笔记
- centos7.2安装mysql-5.7.20
- 机器学习之线性回归