利用永久連結原理秒刪MySQL大檔案

來源:互聯網
上載者:User
      原理:
         
         永久連結基礎
         當多個檔案共同指向同一inode、inode連結數N>1、刪除任何一個檔案都是巨快
         因為、此時刪除的僅僅是指向inode的指標

         而當N=1時、則不一樣了、此時刪除的檔案相關的所有資料區塊、所以慢


     測試:

root@ # ln stock.ibd stock.id.hdlkroot@ # ls stock.* -l-rw-rw—- 1 mysql mysql        9196 Apr 14 23:03 stock.frm-rw-r–r– 2 mysql mysql 19096666112 Apr 15 09:55 stock.ibd-rw-r–r– 2 mysql mysql 19096666112 Apr 15 09:55 stock.id.hdlk你會發現stock.ibd的INODES屬性變成了2;下面我們繼續來刪表。root@127.0.0.1 : test 21:44:37> show table status like ‘stock’ \G*************************** 1. row ***************************Name: stockEngine: InnoDBVersion: 10Row_format: CompactRows: 49916863Avg_row_length: 356Data_length: 17799577600Max_data_length: 0Index_length: 1025507328Data_free: 4194304Auto_increment: NULLCreate_time: 2011-05-18 14:55:08Update_time: NULLCheck_time: NULLCollation: utf8_general_ciChecksum: NULLCreate_options:Comment:1 row in set (0.23 sec)root@127.0.0.1 : test 21:39:34> drop table stock ;Query OK, 0 rows affected (0.99 sec)1秒不到就刪除完成; 也就是DROP TABLE不用再HANG這麼久了。但table是刪除了,資料檔案還在,所以你還需要最後資料檔案給刪除。root # lltotal 19096666112-rw-r–r– 2 mysql mysql 19096666112 Apr 15 09:55 stock.id.hdlkroot # rm stock.id.hdlk

     最後一步刪除原始大檔案也可以選擇rsync來刪除、比rm快多了:rsync秒刪大檔案

By DBA_WaterBin

2013-07-25

Good Luck

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.