• mysql数据库碎片整理


    https://blog.csdn.net/liumangjuntuan/article/details/82379660

    https://www.cnblogs.com/wanbin/p/9555415.html



    1、drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。

    2、truncate table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM 。

    3、delete from table_name删除表的全部数据,对于MyISAM 会立刻释放磁盘空间 (应该是做了特别处理,也比较合理),InnoDB 不会释放磁盘空间;

    4、对于delete from table_name where xxx带条件的删除, 不管是innodb还是MyISAM都不会释放磁盘空间,delete操作以后使用optimize table table_name 会立刻释放磁盘空间。不管是innodb还是myisam 。所以要想达到释放磁盘空间的目的,delete以后执行optimize table 操作。例子如下:table_name 表名称。

    optimize table table_name

    6、delete from表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间。

    总结:
    delete from 表名;
    truncate table 表名;
    不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。
    效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
    delete的效果有点像将mysql表中所有记录一条一条删除到删完,
    而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。


     
    7、查询所有数据库占用磁盘空间大小的SQL语句:

        select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
        concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
        from information_schema.tables
        group by TABLE_SCHEMA
        order by data_length desc;

    8、查询单个库中所有表磁盘占用大小的SQL语句:

        select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,
        concat(truncate(index_length/1024/1024,2),' MB') as index_size
        from information_schema.tables where TABLE_SCHEMA = 'TestDB'
        group by TABLE_NAME
        order by data_length desc;

    9:查询单个库某张表磁盘占用大小的SQL语句

    SELECT t.TABLE_SCHEMA,
           t.TABLE_NAME,
           t.TABLE_ROWS,
           t.DATA_LENGTH,
           t.INDEX_LENGTH,
           t.DATA_FREE,
           concat(round(t.DATA_FREE / 1024 / 1024, 2), 'M') AS datafree   
    FROM information_schema.tables t
    WHERE t.TABLE_SCHEMA = 'epay' and t.table_name='orders'

  • 相关阅读:
    中国的信息产业一定由中国的工商业养活,中国的工商业一定要养活自己的信息产业
    2017-2018-1 20155201 《信息安全系统设计基础》第十三周学习总结
    2017-2018-1 20155201 实验五 通讯协议设计
    《深入理解计算机系统》第二章 信息的表示与处理
    2017-2018-1 20155201 《信息安全系统设计基础》第十一周学习总结
    2017-2018-1 20155201 实验四 外设驱动程序设计
    信息安全技术 实验四 木马及远程控制技术
    实验四
    2017-2018-1 20155201 《信息安全系统设计基础》第九周学习总结
    cmder使用手册
  • 原文地址:https://www.cnblogs.com/qiaoli0726/p/10407089.html
Copyright © 2020-2023  润新知