• 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按如下方式操作:

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

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

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

    在这里插入图片描述

  • 相关阅读:
    Python contextlib模块
    Unity入门教程||创建项目(上)
    Python OpenCV实现鼠标绘制矩形框和多边形
    LoadRunner关联和检查点
    PDF如何转Word?分享几个实用办公软件给你
    YOLOv8快速复现 训练 SCB-Dataset3-S 官网版本 ultralytics
    ansible ---- ansible.builtin.command
    关于Python的局部变量和全局变量使用介绍
    Graphviz代码流程图-智慧交通结构图
    静态ip该如何靠谱的ip代理
  • 原文地址:https://blog.csdn.net/m0_67929156/article/details/132794015