zoukankan      html  css  js  c++  java
  • 如何快速REPAIR TABLE

    早上到公司,刚准备吃早餐,手机响了,一看是服务器自动重启了。好吧,准备修复数据吧。游戏服的游戏日志使用的是MyISAM。众所周知,MyISAM表在服务器意外宕机或者mysqld进程挂掉以后,MyISAM表会损坏,数据小的话修复还比较快,但是数据如果有10G以上,那就悲剧了。那我们如何加快repair table快速高效执行呢?下面我们来看看解决方法。

    REPAIR TABLE用于修复被破坏的表。默认情况下,REPAIR TABLE与myisamchk --recover tbl_name具有相同的效果。REPAIR TABLE对MyISAM和ARCHIVE表起作用。

    通过修改相关参数,提高repair table的效率:

    [mysqld]
    myisam_sort_buffer_size=1G
    key_buffer_size=1G
    myisam_max_sort_file_size=100G

    myisam_sort_buffer_size      

    在REPAIR TABLE过程中,或通过CREATE INDEX/ALTER TABLE为MyISAM表添加索引时为了对索引排序所能够使用的缓冲空间大小。最小值为4,32位系统上所能够使用的最大值为4294967295,即4G;64位系统上可以使用更大的空间。作用范围为全局或会话级别,可用于配置文件,属动态变量。

    myisam_max_sort_file_size   

    设定在MySQL在使用REPARE TABLE、ALTER TABLE或LOAD DATA INFILE命令时为MyISAM表重新创建索引所能够使用的临时文件的体积上限,单位是字节。如果临时文件的大小大过了此上限值,则mysqld会使用key cache创建索引。默认值是2G,而如果MyISAM索引文件本身大过此值且其所在的文件系统有足够的空闲空间,增大此值会提升MySQL性能。作用范围为全局级别,可用于配置文件,属动态变量。

    参考资料:

    http://dev.mysql.com/doc/refman/5.5/en/repair-table-speed.html

  • 相关阅读:
    Hard Rock
    Codeforces Round #416 (Div. 2) B. Vladik and Complicated Book
    codeforces 793B. Igor and his way to work
    codeforces 1B Spreadsheets
    HDU 1069 Monkey and Banana
    codeforces 2B The least round way
    【机器学习】 通俗说拟合
    python-八皇后问题
    python-核心知识思维导图
    python-@property 属性
  • 原文地址:https://www.cnblogs.com/gomysql/p/3680224.html
Copyright © 2011-2022 走看看