zoukankan      html  css  js  c++  java
  • Mysql 碎片整理与统计信息收集

    ======重新收集统计信息=======
    1.分析和存储表的关键字分布
    analyze table table_name;
    
    analyze 用于收集优化器的统计信息、和tuning相关;对 myisam、BOB、innodb起作用
    
    注意:(经过实践操作 在MySQL5.5版本下执行sql:analyze table table_name 会马上返回一个ok状态,但是后端仍然会出现锁表等情况)
    2.检查表(视图),检查一个或者多个表是否有错误
      check table table_name;
     
      对myisam(关键字统计数据被更新)和innodb都有作用,对于myisam来说,需要check和repair(由于myisam表可能损坏)
    3.定期优化表(对空间碎片进行整理合并,消除由于删除或者更新造成的空间浪费)
      optimize table table_name;
    
      对myisam,bob和innodb表起作用,但是该操作会引起锁表

    optimize 可以回收空间,整理碎片,提高IO 之处 innodb、myisam、archive;如若是replication环境,可以加no_write_to_binlog
     optimize local table table_name;

    ====小结:====

    在MySQL实际生产环境中,对于一些经常性DML操作的表,是需要定期在业务低峰期执行optimize来收缩表空间,对于优化慢sql和压缩磁盘都有较大的好处。

    analyze 和optimize都是会锁表的,(当然是因为业务生产中基本选择了innodb的前提下)注意在业务高峰期切忌操作。

    在5.7 analyze 不锁表,optimize 仍然会锁表

    整理自:https://www.cnblogs.com/Kid-Zhou/p/8532347.html

  • 相关阅读:
    正则表达式语法
    javascript刷新页面方法
    数据表操作Sql语句
    UML中的关系讲解
    ASP.net和C#的MD5加密
    Excel导入数据库,兼容Excel2003,2007
    EXCEL文件导入数据库
    javascript 控制文本框输入格式
    键盘扫描码
    jquery在不同浏览器下的兼容性问题
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/11546870.html
Copyright © 2011-2022 走看看