mysql释放空间

生产系统中有些表使用delete删除了一些行后,发现空间并未释放

产生原因:类比Oracle的高水位线产生原理

解决办法:

1.执行  OPTIMIZE TABLE 表名; 

注意:

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

2.OPTIMIZE TABLE会产生锁,推荐在业务低峰时执行;

3.对于DDL频繁的表,定期执行OPTIMIZE TABLE

2.利用old_tables create new_table;

truncate table old_tables;

rename new_tables to old_tables.

时间: 2024-11-09 04:58:33

mysql释放空间的相关文章

mysql delete无法释放空间用分区代替

随着数据库数据量的变大,如果要清除某个月的数据,用delete命令删除,mysql不会释放空间,必须整理碎片或者用修改引擎来重建表,才会释放空间,但是由于数据量很大,每次重建都得10-12小时的时间,太长了,想到了用mysql分区来解决这种弊病,通过删除分区,可以直接删除数据文件,那当然也可以释放空间. 分区的相关知识我就先不讲了,就说两点 分区字段不要有空值,因为空值会默认到无用分区中,这样查询会多扫描分区. 查询条件最好要带着分区字段,不然性能会很低,需要在所有分区里扫一遍. 添加分区脚本

MySQL表空间集

--MySQL表空间集 ----------------------2014-09-20 1. 收缩ibdata的方法,目前MySQL依然没有提供收缩ibdata的方法,只能重构,下面是5.7的步骤. Decreasing the Size of the InnoDB Tablespace Currently, you cannot remove a data file from the system tablespace. To decrease the system tablespace s

MySQL 实例空间使用率过高的原因和解决方法

用户在使用 MySQL 实例时,会遇到空间使用告警甚至超过实例限额被锁定的情况.在 RDS 控制台的实例基本信息中,即会出现如下信息: 本文将介绍造成空间使用率过高的常见原因及其相应的解决方法.对于MySQL 5.6版本的实例,升级实例规格和存储空间后即可解锁实例,关于如何升级实例配置,请参见变更配置. 常见原因 造成 MySQL 实例空间使用率过高,主要有如下四种原因: Binlog 文件占用高. 数据文件占用高. 临时文件占用高. 系统文件占用高. 查看空间使用状况 您可以通过 DMS 中的

Centos 系统文件删除后没有释放空间

今天发现一台服务器的/Home 目录下空间满了,Naigos有报警,于是要清空无用的文件,当我删除文件后,发现可用空间没有变化 os:centos5.5 发现当前磁盘空间使用情况: [[email protected] ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda1             981M  203M  729M  22% /none                   16G     0

linux 磁盘删除文件后无法释放空间

预上线环境测试人员发现磁盘空间沾满,于是使用df -h 和 du -sh * 找到了大文件,并删除. 但并未释放空间,df -h 还是显示占用率为100%,此时du -sh * 显示占用只有7G,与df -h 查看到的内容不符. 在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接.然而如果文件是被程序占用的,则无法真正的清理磁盘空间,文件还是物理存在的. 此时使用lsof | grep deleted 查看 [[email protected] /]

RHEL6删除文件后未释放空间

早上一个网站页面打开空白,后来查看是磁盘空间满了,查看是nginx的access.log占用了170多个G,于是通过rm将其删除,后重启nginx问题依然,此时再查看磁盘发现空间并未释放 [[email protected] logs]# du -h * 176G access.log 0 error.log 4.0K nginx.pid [[email protected] logs]# du -sh  176G . [[email protected] logs]# rm access.lo

Win10正式版哪些预装的应用可以卸载?Win10释放空间的详细教程

Win10正式版哪些预装的应用可以卸载?win10正式版有很多预装软件使用不到的,太占用空间,我们可以删除,但是一般的删除根本删不掉,该怎么办呢?下面分享Win10释放空间的详细教程 Win10正式版哪些预装的应用可以卸载?win10正式版有很多预装软件使用不到的,太占用空间,我们可以删除,但是一般的删除根本删不掉,该怎么办呢?下面分享Win10释放空间的详细教程.如果不是win10子弟啊的程序,可以参考win10正式版自己在应用商店下载的软件的两种卸载方法 1.输入"PowerShell&qu

解决RM删除没有释放空间问题

[email protected] log]$ df -h Filesystem Size Used Avail Use% Mounted on/dev/vda1 120G 101G 20G 84% /devtmpfs 7.8G 0 7.8G 0% /devtmpfs 7.8G 0 7.8G 0% /dev/shmtmpfs 7.8G 601M 7.2G 8% /run 我删除文件时,直接用的rm 没有加参数lf,结果空间没有释放 文件已经找不到了,查阅资料,按如下办法解决了问题 (1)安装工具

mysql释放表空间

公司用的阿里云的RDS数据库 经常磁盘空间超过80% 后来发现有一个表message数据就30万,却占用了65G空间,非常不正常. 后来发现有一个命令,可以释放表空间. 命令如下 optimize table message; 等了几分钟执行完了,表空间占用了680M 磁盘空间就下降到11% 太有效果了. 这个表数据写的非常频繁,但是每隔一个小时会将数据转移到另外一个表. 所以最好每天释放一下,我就写了一个脚本. message_release.sh *部分是机密,内容如下: #!/bin/ba