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 @ 2020-05-29 14:29  edda_huang  阅读(1269)  评论(0编辑  收藏  举报