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壓縮每個索引塊的方法是,先完全儲存索引塊中的第乙個值,然後將其他值和第乙個值進行比較得到相同字首的位元組數 長度 和剩餘的不同字尾部分 即把相同部分去掉 把這部分...