會員 | 【求助】Delete 之後的MySQL ,其Linux HardDisk Free Space是否會增加? 大家好, 我在phpmyadmin用sql 指令(delete),把某些記錄(大約十萬筆)刪除了. 可是我在linux, 用df指令檢查可用空間,發現沒有增加,反而少了. 請問為什麼呢? 謝謝!! |
回覆 |
進階會員 | 兩個辦法...你可以試試 希望對你有幫助 刪除的記錄以一個鏈接表維持並且隨後的INSERT操作再次使用老的記錄位置。為了回收閑置的空間並減小文件大小,使用OPTIMIZE TABLE語句或myisamchk實用程序重新組織表。OPTIMIZE TABLE較容易,但是myisamchk更快。 OPTIMIZE TABLE tbl_name 如果你刪除了一個表的大部分或如果你用變長的行對一個表(有VARCHAR、BLOB或TEXT列的表)做了改變,應該使用OPTIMZE TABLE。刪除的記錄以一個鏈接表維持並且隨後的INSERT操作再次使用老記錄的位置。你可以使用OPTIMIZE TABLE回收閑置的空間。 OPTIMIZE TABLE通過制作原來的表的一個臨時副本來工作。老的表子被拷貝到新表中(沒有閑置的行),然後原來的表被刪除並且重命名一個新的。這樣做使得所有更新自動轉向新的表,沒有任何失敗的更新。當時OPTIMIZE TABLE正在執行時,原來的表可被另外的客戶讀取。對表的更新和寫入延遲到新表是準備好為止。 為了組合成碎片的記錄並且消除由於刪除或更新記錄而浪費的空間, 以恢復模式運行myisamchk: shell> myisamchk -r tbl_name 你可以用SQL的OPTIMIZE TABLE語句使用的相同方式來優化一張表,OPTIMIZE TABLE比較容易,但是myisamchk更快。也沒有在一個實用程序和服務器之間不必要的交互可能性,因為當你使用OPTIMIZE TABLE時,服務器做所有的工作。 myisamchk也有你可用來改進一個表的性能的很多其他選項: -S, --sort-index -R index_num, --sort-records=index_num -a, --analyze |
回覆 |
會員 | Optimize Table tbl_name,可用在[phpmyadmin]中嗎? 謝謝您! 其中一個方法"Optimize Table tbl_name", 可利用 phpmyadmin 完成嗎? 還是要登入 Linux 才能做? 謝謝 |
回覆 |
進階會員 | 應該可以... 我記的phpmyadmin有地方可以自行輸入sql command 去做 Optimize 登入Linux 用 command line 的方式也可以 |
回覆 |
會員 | OPTIMIZE TABLE tbl_name 可在phpmyadmin執行. 為了組合成碎片的記錄並且消除由於刪除或更新記錄而浪費的空間, 以恢復模式運行myisamchk: shell> myisamchk -r tbl_name myisamchk 要在那裡執行? 我登入Linux後, 執行 myisamchk -r attn error response : File 'attn' does't exist |
回覆 |
進階會員 | 先check 一下的db file放在那邊 有可能是 /usr/local/var/mysql 也有可能是 /var/db/mysql/下 不一定... 可以看一下你的mysql啟動的參數...就可以知道你的db file在那邊 先找出db的目錄...然後進去該目錄...就可以看到相關的table file 就在那邊執行即可.... 一個table會有三個table file... 用myisamchk之前...請先詳讀一下各myisamchk參數之間的差異 |
回覆 |
|
類似的主題 | ||||
主題 | 主題作者 | 討論版 | 回覆 | 最後發表 |
(爆)Location Free 與 SO-NET | kkndlin | ---- ADSL 抱 怨 與 鼓 勵 | 3 | 2007-07-26 07:49 PM |
【問題】怎樣可以mount到我的舊linux harddisk 呀? | coolzer | -- FreeBSD & Linux 討 論 版 | 1 | 2006-11-03 11:15 AM |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。