MySQL加索引语句不加锁:ALGORITHM=INPLACE, LOCK=NONE
线上无锁添加索引:加索引的语句不加锁
ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;
ALGORITHM=INPLACE
更优秀的解决方案,在当前表加索引,步骤:
1.创建索引(二级索引)数据字典
2.加共享表锁,禁止DML,允许查询
3.读取聚簇索引,构造新的索引项,排序并插
入新索引
4.等待打开当前表的所有只读事务提交
5.创建索引结束ALGORITHM=COPY
通过临时表创建索引,需要多一倍存储,还有更多的IO,步骤:
1.新建带索引(主键索引)的临时表
2.锁原表,禁止DML,允许查询
3.将原表数据拷贝到临时表
4.禁止读写,进行rename,升级字典锁
5.完成创建索引操作LOCK=DEFAULT:默认方式,MySQL自行判断使用哪种LOCK模式,尽量不锁表
LOCK=NONE:无锁:允许Online DDL期间进行并发读写操作。如果Online DDL操
作不支持对表的继续写入,则DDL操作失败,对表修改无效
LOCK=SHARED:共享锁:Online DDL操作期间堵塞写入,不影响读取
LOCK=EXCLUSIVE:排它锁:Online DDL操作期间不允许对锁表进行任何操作
MySQL加索引语句不加锁:ALGORITHM=INPLACE, LOCK=NONE相关推荐
- MySQL加索引及导数导致的问题
MySQL加索引导致的问题 增加主键索引会锁表 增加二级索引也会锁表 为啥增加二级索引也会锁表? 常见的MDL锁场景 其他什么情况会锁表 导数 几个使用mysqldump时的报错 常见处理方式 扩展 ...
- mysql 创建索引语句
一.创建索引 1.PRIMARY KEY(主键索引) mysql > ALTER TABLE `table_name` ADD PRIMARY KEY ( `col ...
- mysql 加索引不起作用_mysql加索引及索引失效的情况
前言:B+TREE索引的本质是多路绝对平衡查找树,磁盘指针,相当于书的目录,索引不是越多越好. 一:如何加索引 1.PRIMARY KEY(主键索引) mysql>ALTER TABLE ...
- Navicat mysql 加索引_mysql 索引 (Navicat添加索引)
索引类型:NORMAL 索引方法:BTREE 一般这样子设置就OK了 一.sql查询语句 SELECT bp.id AS post_id, `bp`.`title`, bp.img AS bbs_ ...
- mysql加索引后查询时间变长了(终于有头绪了)
在使用ip查询的地址(地址和ip对应的信息存在mysql中,使用的是myisam)的过程中遇到一个这样的问题: 给表中的一些字段加索引后查询时间变长了,cpu飙升了 该表的结构如下 这是什么原因呢难道 ...
- mysql加索引,数据库卡死
公司的一个内部项目,由于突然导入了几十万的数据,数据量翻了一倍,导致了某个页面打开很慢.通过sql日志看到主要是由于慢查询引起的,通过explain这个sql,发现主要是由于这个SQL没有命中索引,进 ...
- mysql创建索引语句
1:表结构 2:创建索引语句 alter table staffs add index idx_staffs_nameAgePos(NAME,age,pos); 执行后效果
- mysql加索引快很多
3秒 变成 0.1秒 左连接的字段加索引 order by字段加索引 频繁使用的检索字段加索引
- mysql 加索引 normal_mysql索引类型 normal, unique, full text
问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...
最新文章
- python selenium error “Geckodriver executable needs to be in PATH”
- PostgreSQL运维实战精讲之“postgresql源码安装”
- jquery很好的学习网站
- python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法
- C/C++实现读取当前文件夹下的文件-popen
- 安全测试需要关注那些要点
- JavaScript内核系列 第8章 面向对象的JavaScript(下)
- easy excel date 类型解析报错_ptarchiver原理解析
- ios 按钮图片拉伸_#UIButton#背景图片的拉伸
- iptables用法简介
- SpringBoot, 启动类,使用「SpringBootApplication」标注
- 一个很酷的SilverLight例子
- Oracle10g在Win2008R2下因版本无法安装问题的解决
- 机器人控制器编程课程-教案02-基础
- 三星研究院:发现腾讯的“阿喀琉斯之踵”,互联网营销
- 解决微信调整字体大小导致页面样式混乱的问题
- 写给大一充实,大二不顺,大三迷茫的同学
- Unity--游戏字幕
- 会议室预订小程序,共享会议室小程序,微信小程序会议室预约系统毕设作品
- Canvas笔触调整-8
热门文章
- 06_Flink命令行界面、作业管理示例、Savepoints、语法(run、通用配置、yarn-cluster、info、list、stop、cancel、savepoint等)
- Kafka 常见命令行 Version 2.1.0
- kylin调优,项目中错误总结,知识点总结,kylin jdbc driver + 数据库连接池druid + Mybatis项目中的整合,shell脚本执行kylin restapi 案例
- 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
- 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
- typedef,结构体,共用体,联合体
- Mule ESB 3.3与CloudHub
- 打开高效文本编辑之门_Linux Sed模拟常见文件命令
- CDH Hadoop 基于CM方式半在线安装步骤详解
- mysql中的tablefamily_Mysql中的表操作