热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

生产环境MySQL表的维护:check、optimize和analyze_MySQL

生产环境MySQL表的维护:check、optimize和analyze
bitsCN.com

生产环境MySQL表的维护:check、optimize和analyze

㈠ optimize

optimize可以回收空间、减少碎片、提高I/O

目前支持的存储引擎有:InnoDB、MyASIM和ARCHIVE

如果是Replication环境、可加NO_WRITE_TO_BINLOG(或者LOCAL、意思完全相同)、比如:

optimize local table table_name;

以下是一个简单测试:

[plain]

[mysql@odd employees]$ ls -alh t.ibd

-rw-rw---- 1 mysql dba 24M 05-22 16:48 t.ibd

未optimize前、有24M

mysql> optimize table t;

+-------------+----------+----------+-------------------------------------------------------------------+

| Table | Op | Msg_type | Msg_text |

+-------------+----------+----------+-------------------------------------------------------------------+

| employees.t | optimize | note | Table does not support optimize, doing recreate + analyze instead |

| employees.t | optimize | status | OK |

+-------------+----------+----------+-------------------------------------------------------------------+

2 rows in set (3.82 sec)

--对于InnoDB的表、上面的内容并非报错、这是MySQL会帮你映射到:alter table table_name engine='InnoDB';

--MyISAM不会有这种情况

[mysql@odd employees]$ ls -alh t.ibd

-rw-rw---- 1 mysql dba 14M 05-22 16:49 t.ibd

optimize后、剩14M

㈡ check

检查表或视图的有无错误

支持表引擎有:InnoDB和MyISAM

下面简单模拟一个测试:

[plain]

mysql> check table t;

+-------------+-------+----------+----------+

| Table | Op | Msg_type | Msg_text |

+-------------+-------+----------+----------+

| employees.t | check | status | OK |

+-------------+-------+----------+----------+

1 row in set (0.63 sec)

--没有错误的情况是这样的

--用vim打开t.frm随意编辑两把

mysql> check table t/G;

*************************** 1. row ***************************

Table: employees.t

Op: check

Msg_type: Error

Msg_text: Incorrect information in file: './employees/t.frm'

*************************** 2. row ***************************

Table: employees.t

Op: check

Msg_type: error

Msg_text: Corrupt

2 rows in set (0.00 sec)

--报错了

㈢ analyze

用于收集优化器统计信息、和tuning相关、

这个命令对 MyISAM、BDB、InnoDB 存储引擎的表有作用

如果不想记录到binlog、也可加关键字local或者另外一个

[plain]

mysql> analyze table t/G;

*************************** 1. row ***************************

Table: employees.t

Op: analyze

Msg_type: Error

Msg_text: Incorrect information in file: './employees/t.frm'

*************************** 2. row ***************************

Table: employees.t

Op: analyze

Msg_type: error

Msg_text: Corrupt

2 rows in set (0.00 sec)

bitsCN.com
推荐阅读
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 本文介绍了Hive常用命令及其用途,包括列出数据表、显示表字段信息、进入数据库、执行select操作、导出数据到csv文件等。同时还涉及了在AndroidManifest.xml中获取meta-data的value值的方法。 ... [详细]
  • 本文介绍了一种求解最小权匹配问题的方法,使用了拆点和KM算法。通过将机器拆成多个点,表示加工的顺序,然后使用KM算法求解最小权匹配,得到最优解。文章给出了具体的代码实现,并提供了一篇题解作为参考。 ... [详细]
  • 抽空写了一个ICON图标的转换程序
    抽空写了一个ICON图标的转换程序,支持png\jpe\bmp格式到ico的转换。具体的程序就在下面,如果看的人多,过两天再把思路写一下。 ... [详细]
  • 本文整理了Java中org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc.getTypeInfo()方法的一些代码示例,展 ... [详细]
  • oracle恢复失败,RMAN数据库恢复失败解决一例
    问题:这是一个从RAC环境的数据库的RAMN备份恢复到一个单机数据库的操作。当恢复数据文件和恢复正常,但在open数据库时出报下面的错误。--rman备 ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
author-avatar
林禎峰佩蓉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有