---注意,在生產環境中MySQL刪除表的時候 如果表過大,幾十G 甚至上百G ,刪除的時候要小心,要不然會導致MySQLhang住,從而影響業務;
站在用戶的角度思考問題,與客戶深入溝通,找到大武口網站設計與大武口網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、做網站、企業官網、英文網站、手機端網站、網站推廣、空間域名、雅安服務器托管、企業郵箱。業務覆蓋大武口地區。
1、MySQL在刪除表的時候,一共分為2步:
①:buffer pool頁面清除的過程
在刪除表的時候,innodb會將文件在buffer pool中對應的頁面清除,對于刪除表的頁面清除,只需要將頁面從flush隊列中刪除即可,而不需要去做flush操作,這樣就可以減少對系統的沖擊;
②:刪除ibd磁盤文件的過程(這個過程是很耗資源的也比較慢會影響數據庫的性能)
2、正確的刪除大表的姿勢:
①:對表的系統文件做個硬鏈接,加速刪除
如:ln /mysql/data/test/emp.ibd /mysql/data/test/emp.ibd.hdlk
[mysql@db2 test]$ ln /mysql/data/test/emp.ibd /mysql/data/test/emp.ibd.hdlk
[mysql@db2 test]$ ls -l
total 208
-rw-r--r-- 1 mysql mysql 65 Mar 3 10:35 db.opt
-rw-rw---- 1 mysql mysql 8556 May 12 04:40 emp.frm
-rw-rw---- 2 mysql mysql 98304 May 12 04:40 emp.ibd
-rw-rw---- 2 mysql mysql 98304 May 12 04:40 emp.ibd.hdlk
[mysql@db2 test]$
然后在數據庫中執行:drop table emp; ---即可,
②:第二種方法就是分批刪除數據,設定一個條件有序的刪除,如:可以按照每天的數據刪除或按照一個范圍進行分批刪除,
---注意,在生產數據庫刪除表的時候,如果表數據量過大要么分批刪除 要么做硬鏈接的方式刪除;
標題名稱:MySQL大表刪除導致服務器變慢的分析
瀏覽路徑:http://m.newbst.com/article16/jeeegg.html
成都網站建設公司_創新互聯,為您提供商城網站、企業網站制作、網站導航、云服務器、企業建站、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯