如何快速REPAIR TABLE
早上到公司,剛準備吃早餐,手機響了,一看是服務器自動重啟了。好吧,準備修復數(shù)據(jù)吧。游戲服的游戲日志使用的是MyISAM。眾所周知,MyISAM表在服務器意外宕機或者mysqld進程掛掉以后,MyISAM表會損壞,數(shù)據(jù)小的話修復還比較快,但是數(shù)據(jù)如果有10G以上,那就悲劇了。那我們?nèi)绾渭涌靣epair table快速高效執(zhí)行呢?下面我們來看看解決方法。
REPAIR TABLE用于修復被破壞的表。默認情況下,REPAIR TABLE與myisamchk --recover tbl_name具有相同的效果。REPAIR TABLE對MyISAM和ARCHIVE表起作用。
通過修改相關(guān)參數(shù),提高repair table的效率:
[mysqld] myisam_sort_buffer_size=1G key_buffer_size=1G myisam_max_sort_file_size=100Gmyisam_sort_buffer_size??????
在REPAIR TABLE過程中,或通過CREATE INDEX/ALTER TABLE為MyISAM表添加索引時為了對索引排序所能夠使用的緩沖空間大小。最小值為4,32位系統(tǒng)上所能夠使用的最大值為4294967295,即4G;64位系統(tǒng)上可以使用更大的空間。作用范圍為全局或會話級別,可用于配置文件,屬動態(tài)變量。
myisam_max_sort_file_size???
設定在MySQL在使用REPARE TABLE、ALTER TABLE或LOAD DATA INFILE命令時為MyISAM表重新創(chuàng)建索引所能夠使用的臨時文件的體積上限,單位是字節(jié)。如果臨時文件的大小大過了此上限值,則mysqld會使用key cache創(chuàng)建索引。默認值是2G,而如果MyISAM索引文件本身大過此值且其所在的文件系統(tǒng)有足夠的空閑空間,增大此值會提升MySQL性能。作用范圍為全局級別,可用于配置文件,屬動態(tài)變量。
?
參考資料:
http://dev.mysql.com/doc/refman/5.5/en/repair-table-speed.html
轉(zhuǎn)載于:https://www.cnblogs.com/gomysql/p/3680224.html
總結(jié)
以上是生活随笔為你收集整理的如何快速REPAIR TABLE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在plist文件中增删改查
- 下一篇: php中mysqli 处理查询结果集的几