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