• optimize table 定期整理碎片


    当频繁的对(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,建议使用optimize table功能对这类表进行碎片整理,避免因为“空洞”导致性能问题。

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

    注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。

    示例:

    创建一个表t,字段中包含varchar和text的数据类型,使用repeat函数进行插入大量的字符串。

    create table t (id varchar(100), context text);
    
    insert into t values (1,repeat('haha',100));
    ......//大量的进行该类操作
    insert into t select * from t;

    进入存放表数据所在的文件夹。

    查看my.cnf文件,找到datadir对应的路径,就是表数据存放的路径。

    例如当前的路径就是/var/lib/mysql,我的这张表创建在song这个数据库中。

    cd  /var/lib/mysql/song     #表数据所在路径
    du  -sh  t.*       #查看t的物理文件大小

    删除表中的大部分数据,在进行查看t的物理文件大小的操作,发现并没有因为数据删除而减少,接下来对表进行optimize 操作

     

    可以发现文件大小减少了

  • 相关阅读:
    springmvc,springboot单元测试配置
    uboot中ftd命令
    在根文件系统中查看设备树(有助于调试)
    协议类接口
    网络设备接口
    块设备驱动框架
    i2c子系统
    触摸屏
    input子系统
    原子访问、自旋锁、互斥锁、信号量
  • 原文地址:https://www.cnblogs.com/songcuiting/p/10384243.html
Copyright © 2020-2023  润新知