zoukankan      html  css  js  c++  java
  • 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 操作

     

    可以发现文件大小减少了

  • 相关阅读:
    云计算-MapReduce
    云计算--hbase shell
    云计算--hdfs dfs 命令
    云计算--MPI
    jQuery 效果
    jQuery 效果
    JQuery效果隐藏/显示
    JQuery教程
    六级啊啊啊
    jQuery 安装
  • 原文地址:https://www.cnblogs.com/songcuiting/p/10384243.html
Copyright © 2011-2022 走看看