最新公告
  • 欢迎访问代码工坊,购买产品可享受在线工单服务!
  • mysql百万级别重排主键id(网上的删除重建id在大数据量下会出错)

      网上教程:

      先删除旧的主键 再新建主键 ;数据量少时没问题,不会出现主键自增空缺间隔的情况(如:1,2,3,5);但是大数据量时会出现如上所述问题(可能是内部mysql多进程或多线程同时操作引起的问题)。

      解决办法:

      表结构如下:

    mysql百万级别重排主键id(网上的删除重建id在大数据量下会出错)mysql百万级别重排主键id(网上的删除重建id在大数据量下会出错)

      执行mysql 脚本如下:

    # 创建表备份
    create table user_account_copy like user_account;
    # 插入数据
    INSERT INTO user_account_copy (mobile,passwd,role,created_time,updated_time) select mobile,passwd,role,created_time,updated_time from user_account;
    # 重命名表
    rename table user_account to user_account_old;
    rename table user_account_copy to user_account;

    解决问题的思路:从 user_account表插入数据到user_account_copy时 只 插入 非 主键的数据,每插入一条数据 主键就会自增一条;

    mysql百万级别重排主键id(网上的删除重建id在大数据量下会出错)

    发表评论