线上无锁添加索引:加索引的语句不加锁

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相关推荐

  1. MySQL加索引及导数导致的问题

    MySQL加索引导致的问题 增加主键索引会锁表 增加二级索引也会锁表 为啥增加二级索引也会锁表? 常见的MDL锁场景 其他什么情况会锁表 导数 几个使用mysqldump时的报错 常见处理方式 扩展 ...

  2. mysql 创建索引语句

    一.创建索引 1.PRIMARY  KEY(主键索引)         mysql > ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `col ...

  3. mysql 加索引不起作用_mysql加索引及索引失效的情况

    前言:B+TREE索引的本质是多路绝对平衡查找树,磁盘指针,相当于书的目录,索引不是越多越好. 一:如何加索引 1.PRIMARY  KEY(主键索引) mysql>ALTER  TABLE   ...

  4. Navicat mysql 加索引_mysql 索引 (Navicat添加索引)

    索引类型:NORMAL   索引方法:BTREE 一般这样子设置就OK了 一.sql查询语句 SELECT bp.id AS post_id, `bp`.`title`, bp.img AS bbs_ ...

  5. mysql加索引后查询时间变长了(终于有头绪了)

    在使用ip查询的地址(地址和ip对应的信息存在mysql中,使用的是myisam)的过程中遇到一个这样的问题: 给表中的一些字段加索引后查询时间变长了,cpu飙升了 该表的结构如下 这是什么原因呢难道 ...

  6. mysql加索引,数据库卡死

    公司的一个内部项目,由于突然导入了几十万的数据,数据量翻了一倍,导致了某个页面打开很慢.通过sql日志看到主要是由于慢查询引起的,通过explain这个sql,发现主要是由于这个SQL没有命中索引,进 ...

  7. mysql创建索引语句

    1:表结构 2:创建索引语句 alter table staffs add index idx_staffs_nameAgePos(NAME,age,pos); 执行后效果

  8. mysql加索引快很多

    3秒 变成 0.1秒 左连接的字段加索引 order by字段加索引 频繁使用的检索字段加索引

  9. mysql 加索引 normal_mysql索引类型 normal, unique, full text

    问题1:mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用 ...

最新文章

  1. python selenium error “Geckodriver executable needs to be in PATH”
  2. PostgreSQL运维实战精讲之“postgresql源码安装”
  3. jquery很好的学习网站
  4. python怎么导入txt文件夹-python读取一个目录下所有txt里面的内容方法
  5. C/C++实现读取当前文件夹下的文件-popen
  6. 安全测试需要关注那些要点
  7. JavaScript内核系列 第8章 面向对象的JavaScript(下)
  8. easy excel date 类型解析报错_ptarchiver原理解析
  9. ios 按钮图片拉伸_#UIButton#背景图片的拉伸
  10. iptables用法简介
  11. SpringBoot, 启动类,使用「SpringBootApplication」标注
  12. 一个很酷的SilverLight例子
  13. Oracle10g在Win2008R2下因版本无法安装问题的解决
  14. 机器人控制器编程课程-教案02-基础
  15. 三星研究院:发现腾讯的“阿喀琉斯之踵”,互联网营销
  16. 解决微信调整字体大小导致页面样式混乱的问题
  17. 写给大一充实,大二不顺,大三迷茫的同学
  18. Unity--游戏字幕
  19. 会议室预订小程序,共享会议室小程序,微信小程序会议室预约系统毕设作品
  20. Canvas笔触调整-8

热门文章

  1. 06_Flink命令行界面、作业管理示例、Savepoints、语法(run、通用配置、yarn-cluster、info、list、stop、cancel、savepoint等)
  2. Kafka 常见命令行 Version 2.1.0
  3. kylin调优,项目中错误总结,知识点总结,kylin jdbc driver + 数据库连接池druid + Mybatis项目中的整合,shell脚本执行kylin restapi 案例
  4. 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译
  5. 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
  6. typedef,结构体,共用体,联合体
  7. Mule ESB 3.3与CloudHub
  8. 打开高效文本编辑之门_Linux Sed模拟常见文件命令
  9. CDH Hadoop 基于CM方式半在线安装步骤详解
  10. mysql中的tablefamily_Mysql中的表操作