mysql線上數據庫單表超過200G的處理


tbl_user_data占用了大量磁盤空間,數據表占用大概200G,索引30G左右,查詢非常慢,影響業務的支持進行現在需要對它進行清理

臨時解決方案是將原表重命名,新建一個和這個表相同的空表來替換(缺點是不能做到根治,隔一段時間以后需要重新處理)

根除的辦法是重新設計,或者在客戶端進行過濾避免過多垃圾數據進入系統

1.新建一個和現在表相同結構的表
create table tbl_user_data_new like tbl_user_data

將主鍵的ID改為bigint並且unsigned無符號,存儲大一倍

2.停用服務端服務,需要根據實際業務選擇暫停服務時間

3.重命名原表並且20170809bak
將tbl_user_data_new改為tbl_user_data即可

4.重新啟動服務,看到已經有新的數據進入到剛才的表中,此處變更成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM