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