mysql gh-ost导致自增id重复

茧型超类
• 阅读 1025

mysql表变更gh-osh相比pt-online-schema-change稳定,但使用过程也存在问题:

  1. 导致自增重置
    业务表id字段自增,同时会有delete,如果使用gh-ost之前刚刚进行了delete操作,直接导致表id自增重置(效果同8.0以下版本,mysql服务器重启)
  2. 表访问频繁更新
    频繁更新产生的锁,失最后一步重试几次后失败,从而进程关闭,生成中间表_gho和_ghc也没有删除
本文由博客一文多发平台 OpenWrite 发布!
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL使用on duplicate key update时导致主键不连续自增
使用onduplicatekeyupdate语法有时是很方便,但是会有一个影响:默认情况下,每次更新都会更新该表的自增主键ID,如果更新频率很快,会导致主键ID自增的很快,过段时间就超过数字类型的的范围了解决这个问题,有两种方式:(实际我目前使用的方式是把自增主键ID设置为bigint,也有一部分操作先查询再选择插入OR更新)方法一:拆分成两个
Wesley13 Wesley13
3年前
mysql的自增id 用完了怎么办?
mysql的自增id用完了怎么办?createtabletest\_auto\_increment\_id(idintUNSIGNEDauto\_incrementPRIMARYKEY,nameVARCHAR(255));执行sql语句!(https://oscimg.oschina.net/oscnet/updfcee9
Wesley13 Wesley13
3年前
mysql 实现 上一行减去下一行
方法1:通过行号来进行加减1.新建表1添加自增行号列(考虑到自增id有丢失数据现象)2.复制上表1为表23.根据表1、表2行号进行where或者leftjoinon的处理\where进行处理的条件为表1表2完全的匹配\leftjoinon处理的条件为 左表完全的匹配设置内存变量
Wesley13 Wesley13
3年前
oracle中如何创建表的自增ID(通过序列)
1、什么是序列呢?   序列是一数据库对象,利用它可生成唯一的整数。一般使用序列自动地生成主码值。一个序列的值是由特别的Oracle程序自动生成,因而序列避免了在运用层实现序列而引起的性能瓶颈。Oracle序列允许同时生成多个序列号,而每一个序列号是唯一的。当一个序列号生成时,序列是递增,独立于事务的提交或回滚。容许设计缺省序列,不需指定任何子句
Wesley13 Wesley13
3年前
mysql自增id获取
mysql自增id获取使用max函数:selectmax(id)fromtablename 优点:使用方便快捷。缺点:获取的不是真正的自增id,是表中最大的Id,如果有删除数据的话,那么该值和自增id相差比较大。如果有连表数据,有可能导致数据错乱。使用LAST\_INSERT\_ID
Wesley13 Wesley13
3年前
MySQL 序列使用:使用 AUTO_INCREMENT、获取AUTO_INCREMENT值
MySQL序列使用MySQL序列是一组整数:1,2,3,...,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。本章我们将介绍如何使用MySQL的序列。使用AUTO\_INCREMENTMySQL
Wesley13 Wesley13
3年前
mysql关于自动编号问题 转载
MySql数据库唯一编号字段(自动编号字段)在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO\_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。ISAM表如果把一个NULL插入到一个AUTO\_INCREMEN
Wesley13 Wesley13
3年前
mysql5.6 分页查询优化
mysql5.6分页查询优化场景:表结构:主键(非自增)contentCode(varchar),过滤条件列为updateTime(timeStamp),已经为timestamp建立索引。搜索sql为:SELECTFROMmy_hello_tableWHEREupdat
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Vitess全局唯一ID生成的实现方案 | 京东云技术团队
为了标识一段数据,通常我们会为其指定一个唯一id,比如利用MySQL数据库中的自增主键。但是当数据量非常大时,仅靠数据库的自增主键是远远不够的,并且对于分布式数据库只依赖MySQL的自增id无法满足全局唯一的需求。因此,产生了多种解决方案,如UUID,Sn
茧型超类
茧型超类
Lv1
问君能有几多愁?恰似一江春水向东流。
文章
3
粉丝
0
获赞
0