Mysql百万级数据索引重新排序

参考https://blog.csdn.net/pengshuai007/article/details/86021689中思路解决自增id重排

方式一

alter table `table_name` AUTO_INCREMENT=0; 

百万级数据会执行很长时间,并导致锁表(在百万级数据表上添加索引也是一样)

 

方式二

  • 导出原表数据(select * from tab into outfile '/tmp/tab.txt';)
  • 创建新表与原表结构保持一致,在该表上执行alter语句添加索引( CREATE TABLE new_tab LIKE old_tab;);
  • 将表数据导入创建的新表(load data infile '/tmp/tab.txt' into table tab;);
  • 修改新建的表名为原表名。

具体步骤
配置数据库参数

  • show variables like '%secure%';查看 secure-file-priv 当前的值是什么;
  • secure-file-priv为null表示禁止导出数据;
  • 在my.ini配置文件中修改secure-file-priv参数;
  • secure-file-priv= ,设置为空表示不做限制,修改完成重启数据库服务。

 

 

posted @   edda_huang  阅读(1294)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示