MYISAM表批量壓縮

2021-12-29 22:28:30 字數 890 閱讀 4856

myisam表批量壓縮

這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作;而且壓縮過程會很占用cpu資源,建議在伺服器空閒的狀態進行。

下面是用於實現某資料庫下表壓縮的shell過程(值得注意的是,如果資料量大,建議分多次操作,因其會很耗時):

1 #!/bin/bash

2 data_dir="/data/mysql/my_dbname/"

3 filelist=`ls $data_dir`

4 echo "myisampack begin."

5 for filename in $filelist

6 do

7 idx=`expr match "$filename" ".*.myi"`

8 if [[ $idx>0 ]]

9 then

10 /usr/bin/myisampack $data_dir$filename

11 fi

12 done

13 14 echo "myisampack end. myisamchk begin."

15 16 for filename in $filelist

17 do

18 idx=`expr match "$filename" ".*.myi"`

19 if [[ $idx>0 ]]

20 then

21 /usr/bin/myisamchk -r -o -f --sort-index --analyze $data_dir$filename

22 fi

23 done

24 echo "myisamchk end."

MYISAM表批量壓縮

引言 最近mysql的資料庫,資料達到了1.4t了,而且這些資料都是只供查詢的歷史資料。所以我想到mysql的資料壓縮,變成唯讀模式。關於對myisam表的壓縮,可以使用myisampack和myisamchk完成 myisampack完之後必須進行myisamchk才能使用壓縮後的表,而且是唯讀的...

mysql MYISAM表批量壓縮

關於對myisam表的壓縮,可以使用myisampack和myisamchk完成 myisampack完之後必須進行myisamchk才能使用壓縮後的表,而且是唯讀的 其詳細地用法可以參考官方文件 這兩個操作需要謹慎使用,在壓縮之前需要確認mysqld已關閉或者要壓縮的表不會有其他的sql操作 而且...

myisam壓縮(字首壓縮)索引

myisam使用字首壓縮來減少索引的大小,從而讓更多的索引可以放入記憶體中,預設只壓縮字串,但通過引數配置也可以對整數做壓縮,myisam壓縮每個索引塊的方法是,先完全儲存索引塊中的第乙個值,然後將其他值和第乙個值進行比較得到相同字首的位元組數 長度 和剩餘的不同字尾部分 即把相同部分去掉 把這部分...