mysql 在线alter table要小心

mysql 5.6之前, alter table操作对可用性有巨大的冲击(除了纯改表名、不影响任何数据的alter table)。它的原理是,

0. alter table语句开始

1. 等待当前所有操作结束

2. 施加shared table lock,  能读不能写

3. 创建临时表,执行table alteration并将所有数据复制到临时表中

4. 抛弃旧表并把新表改名,完成操作; 在这个点上会对表施加exclusive table lock, 也就是说连读都不行了。

如果表很大,这个过程会导致比较严重的不可用(分钟级或以上).

在5.6之前,有一个针对innodb index的优化:MySQL 5.5, and MySQL 5.1 with the InnoDB Plugin, optimized CREATE INDEX and DROP INDEX to avoid the table-copying behavior

到5.6时,innodb上了一个特性叫做"online ddl", 对于很多alter table操作,可以避免表复制、或/和  dml blocking等。 具体避免哪些,要看具体使用的是哪种alter table操作。请参见:

http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html . 对于最常见的"add column"操作,虽然不会block dml, 但仍存在数据复制,代价依然不低。

欢迎大家阅读《mysql 在线alter table要留神_mysql》,跪求各位点评,by 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

在线打mysql代码_mysql 在线alter table要留神_mysql相关推荐

  1. mysql alter table 速度慢_MySQL中ALTER TABLE时的性能问题

    当对于一个大表进行ALTER TABLE的时候,性能问题就产生了.MySQL大部分改动的步骤如下:根据新的表结构创建一个空表,从旧表中把数据取出来插入到新表中,在删除旧表.这是个非常漫长的过程.许多人 ...

  2. mysql锁表_MySQL中Alter table 你不知道的性能问题

    前言: MySQL 的大表运维总是令人头疼的一件事,特别是大表表结构的修改尤为困难. 首先,alter table 的process不可被kill , 一旦执行就不可回退. 其次,大多数的alter ...

  3. mysql 锁24小时_MySQL中Alter table 不长时间锁表的情况汇总。

    查看原文:http://www.tanbo.name/html/99669.html 前言: MySQL 的大表运维总是令人头疼的一件事,特别是大表表结构的修改尤为困难. 首先,alter table ...

  4. MySQL 新增字段(alter table add column),报错:Duplicate entry

    问题 执行一个增加字段的DDL语句脚本时,报错,错误如下: Error 1062: Duplicate entry 'c51d3db8-59a5 2022-06-28 17:59:59' for ke ...

  5. mysql的altertable_mysql 的 alter table 操作性能小提示

    通常情况下,修改表的结构一般不会有太大问题,无非就是一个 alter table 操作,但是对于大表做 alter 操作是一个大问题,请小伙伴们慎重. mysql执行大部分修改表结构操作方法是创建一个 ...

  6. mysql 删除process_MySQL中Alter table 你不知道的性能问题

    前言: MySQL 的大表运维总是令人头疼的一件事,特别是大表表结构的修改尤为困难. 首先,alter table 的process不可被kill , 一旦执行就不可回退. 其次,大多数的alter ...

  7. 在线书架html代码大全,在线书架

    this.p={ m:2, b:2, loftPermalink:'', id:'fks_082064083095084064084095084095093086083068086086083', b ...

  8. 在线书架html代码复制,在线书架--竖黄代码

    如何将以上书架代码放在自己的页面书架上,操作如下: 先复制下面书架代码,然后在自己博客首页上点"换风格"--再点"设置首页内容"--再点"添加自定义模 ...

  9. 【MYSQL报错】ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry

    解决方案: 将主键字段值为0的那条记录值改为其他大于0且不重复的任意数 修改主键字段为auto_increment 把刚才修改过的那条记录的值还原

最新文章

  1. 图解Transformer:Attention Is All You Need
  2. RTFNet:基于可见光/红外图像的城市自动驾驶道路场景语义分割
  3. 最近一段时间开发客户端app的感悟
  4. element-ui表格缩略图悬浮放大
  5. python关键字参数可以避免什么问题_python入门课|Python关键字参数使用方法公布,能解决80%的python函数问题...
  6. linux路由内核实现分析(二)---FIB相关数据结构(2)
  7. STM32工作笔记0044---什么是二极管什么是三极管
  8. 软件项目测试报价单,某软件项目报价单
  9. 人工智能视频教程下载
  10. unity3D学习笔记1
  11. MySql desc 的三种用法
  12. 【pytest官方文档】解读-fixtures函数和测试函数的参数化
  13. PE和CDlinux二合一启动盘制作
  14. PY_GD_1 Python使用print()函数时输出不含多余空格的数据
  15. 中国队夺金幕后的「AI手语翻译官」:初次上岗,手语可懂度超90%
  16. Vue3通过npm或者yarn启动后,显示“Network: use --host to expose”,无法访问
  17. 2345浏览器卸载之后如何找回收藏夹中的内容?
  18. MyEclipse如何配置Tomcat
  19. 初学编程时需要了解的10件事情
  20. python3新式类_python 3新式类的多继承

热门文章

  1. TCP/IP笔记 应用层(2)——FTP
  2. 国内版Office 365和Azure AAD绑定的问题及解决方案
  3. WCF中使用自定义behavior提示错误的解决方法
  4. Linux下Centos7以rpm方式离线安装MySQL5.7教程以及部分报错解决方案
  5. 【报告分享】B2B内容营销指南—制定有效内容策略-领英.pdf(附下载链接)
  6. cmake命令的python库的位置参数-DTORCH_PATH
  7. python基本词汇的特点_开课吧老师为你讲解 Python都有什么优点?
  8. KMP算法模板与解析
  9. matplotlib的学习
  10. Websocket教程SpringBoot+Maven整合(详情)