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= ,设置为空表示不做限制,修改完成重启数据库服务。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM