mysql检查表、分析表、优化表

MySQL提供了分析表、检查表和优化表的语句。分析表主要是分析关键字的分布,检查表主要是检查表是否存在错误,优化表主要是消除删除或者更新造成的空间浪费。

文章目录


概述

对数据库的管理常规就是进行预防性的维护,以及修复那些出现问题的内容。

进行检查和修复通常具有四个主要的任务:

1. 对表进行优化
2. 对表进行分析(分析并存储MyISAM和BDB表中键的分布)
3. 对表进行检查(检查表的错误,并且为MyISAM更新键的统计内容)
4. 对表进行修复(修复被破坏的MyISAM表)

分析表

MySQL中提供了 ANALYZE TABLE 语句分析表,analyze table 语句的基本语法如下:

analyze local \| no_write_to_binlog table table_name,tbl_name...

上面结果显示的信息说明如下:

Table:表示分析的表的名称
Op:表示执行的操作。analyze表示进行分析操作
Msg_type:表示信息类型,其值通常是状态(status)、信息(info)、注意(note)、警告(warning)和错误(error)之一
Msg_text:显示信息。


检查表

MySQL中可以使用 CHECK TABLE语句来检查表。CHECK TABLE语句能够检查InnoDB和MyISAM类型的表是否存在错误。 CHECK TABLE语句在执行过程中也会给表加上只读锁。

对于MyISAM类型的表,CHECK TABLE 语句还会更新关键字统计数据。而且 CHECK TABLE也可以检查视图是否有错误,比如在视图定义中被引用的表已不存在。

该语句的基本语法如下:

CHECK TABLE table_name, table_name ...option...

TABLSE:分析表的名称
op:表执行的操作,check检查 analyze分析
Msg_type:表示信息类型,其值通常是状态(status)、信息(info)、注意(note)、警告(warning)和错误(error)之一
Msg_text:显示信息。ok表示正常

option={QUICK | FAST | MEDIUM | EXTENDED |CHANGED }

option各个选项的意义分别是:

QUICK:不扫描行,不检查错误的连接

FAST:只检查没有被正确关闭的表

CHANGED:只检查上次检查后被更改的表和没有被正确关闭的表

MEDIUM:扫描行,以验证被删除的连接是有效的。也可以计算各行的关键字校验和,并使用计算出的校验和验证这一点。

EXTENDED:对每行的所有关键字进行一个全面的关键字查找。这可以确保表时100%一致的,但是花的时间较长


优化表

OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用

语法:

optimize local \| no_write_to_binlog table table_name ,table_name...

对于MyISAM表,OPTIMIZE TABLE按如下方式操作:

如果表已经删除或分解了行,则修复表。

如果未对索引页进行分类,则进行分类。

如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。

相关推荐
不会就选b4 小时前
MySQL之视图
数据库·mysql
>no problem<4 小时前
基于cola5.0的基础设施层的多数据库切换方案思路
数据库·spring boot·mybatisplus·cola5.0·数据库迁移适配
OceanBase数据库官方博客4 小时前
OceanBase 赋能央国企:从发电到用电的全链路业务承载
数据库·oceanbase
瀚高PG实验室5 小时前
pgsql-ogr-fdw
数据库·postgresql·瀚高数据库·highgo
IvorySQL5 小时前
PostgreSQL 技术日报 (6月5日)|PG19 Beta1 上线,PGConf.PL 2026开启征稿
数据库·postgresql·区块链
abcy0712136 小时前
pycharm python sqlalchemy mysql增删改查实例csdn
数据库·oracle
无风听海6 小时前
IndexedDB 深度指南 浏览器中的事务型对象数据库
前端·数据库
咋吃都不胖lyh7 小时前
langgraph基础示例
数据库
网管NO.17 小时前
子查询进阶|EXISTS/IN/ANY/ALL,优化查询效率
数据库·sql
云服务器租用费用7 小时前
2026年腾讯云OpenClaw(Clawdbot)+Skills云上部署及Windows本地集成轻松入门
运维·服务器·数据库·windows·云计算·腾讯云