iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql中如何优化表释放表空间
  • 899
分享到

mysql中如何优化表释放表空间

mysql优化表释放表空间mysql表空间 2023-02-18 15:02:49 899人浏览 八月长安
摘要

目录Mysql优化表释放表空间mysql空间释放查询占用空间大小清理碎片总结mysql优化表释放表空间 方法一:optimize table table_name 这是我们经常见到的

mysql优化表释放表空间

方法一:optimize table table_name

这是我们经常见到的方法,这里就不在过多介绍。

方法二:alter table table_name engine=engine_name

该方法通常用于切换表的引擎,例如MyISAM转为InnoDB,但是同样适用于释放表空间,只不过切换后的引擎和原来的engine相同罢了。

注意事项

1.这两种方式都适用于我们常用的表,myisam和innodb。

2.优化表的时候会表,数据表越大,耗时越长,因此不要在网站忙时进行表优化。

mysql空间释放

今天还原了一个数据库。发现数据量有数十GB,想着看看哪些表的数据量多,于是查询了下。数据还真不少。3000多万行,这儿一张表居然有近1400万数据。....惭愧。以前没做什么处理。

USE infORMation_schema; # 使用数据库元数据;
SELECT table_name,table_rows FROM TABLES WHERE table_schema = 'tjpro' order by table_rows desc; #查询表名和表行数,数据库为tjpro 
SELECT sum(table_rows) FROM tables WHERE table_schema = 'tjpro'; #统计行数
SELECT table_name,table_rows FROM tables WHERE table_schema = 'tjpro' order by table_rows desc limit 100; #查询最多行数的表前100

使用delete删除mysql数据的时候,mysql并没有把数据文件删除,而是将数据文件的标识位删除,没有整理文件,因此不会彻底释放空间。被删除的数据将会被保存在一个链接清单中,当有新数据写入的时候,mysql会利用这些已删除的空间再写入。即,删除操作会带来一些数据碎片,正是这些碎片在占用硬盘空间。 -- 引自mysql

如何整理,清理这些空间呢,请往下看。

查询占用空间大小

这时候,我删除了数据最多的mis_system_data_remind_mas 表(测试库哟)之后。我再次查询该表占用的空间大小。

SELECT TABLE_NAME, (DATA_LENGTH+INDEX_LENGTH)/1048576, TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA='dbname' AND TABLE_NAME='tablename(你的表名)';

默认是M为单位。第二栏。约为2.8个GB大小。

  • 然后清理一下。使用:OPTIMIZE TABLE

清理碎片

官方推荐使用 OPTIMIZE TABLE 命令来优化表,该命令会重新利用未使用的空间,并整理数据文件的碎片。

等待的时间有点长。等完成后,再次查询空间:

SELECT TABLE_NAME, (DATA_LENGTH+INDEX_LENGTH)/1048576, TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA='dbname' AND TABLE_NAME='tablename(你的表名)';

可以看到,释放的空间约为2.8GB。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

您可能感兴趣的文档:

--结束END--

本文标题: mysql中如何优化表释放表空间

本文链接: https://www.lsjlt.com/news/196714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中如何优化表释放表空间
    目录mysql优化表释放表空间mysql空间释放查询占用空间大小清理碎片总结mysql优化表释放表空间 方法一:optimize table table_name 这是我们经常见到的...
    99+
    2023-02-18
    mysql优化表 释放表空间 mysql表空间
  • oracle临时表空间不释放如何解决
    如果Oracle临时表空间不释放,可以尝试以下方法解决:1. 检查是否有长时间运行的事务或会话占用了临时表空间。可以使用以下查询语句...
    99+
    2023-09-15
    oracle
  • mysql中如何查看表空间
    目录mysql 查看表空间mysql 临时表空间不足解决查找思路以及解决方案总结mysql 查看表空间 主要是查看创建的库和系统自带的库大小 - SELECT table_schema, conca...
    99+
    2023-02-18
    mysql查看表空间 mysql表空间 表空间查看
  • 在Android应用中如何释放空间
    这篇文章将为大家详细讲解有关在Android应用中如何释放空间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在网上搜索找到两种方法:if (Build.VERSION.SDK_INT >...
    99+
    2023-05-31
    android roi
  • MySQL如何清理数据并释放磁盘空间
    在我们的生产环境中有一张表:courier_consume_fail_message,是存放消息消费失败的数据的,设计之初,这张表的数据量评估在万级别以下,因此没有建立索引。 但目前发现,该表的数据量已经达到百万级别,原因产生了大量的重试消...
    99+
    2023-10-27
    mysql 数据库 后端
  • 如何优化MySQL表?
    优化 MySQL 表是提高数据库性能和效率的关键一步。通过采用有效的优化技术,您可以提高查询执行速度、降低存储要求并优化资源利用率。本文探讨了优化 MySQL 表的各种策略和最佳实践,使您能够最大限度地提高数据库驱动的应用程序的性能。 在本...
    99+
    2023-10-22
  • 如何清除 Pip 缓存?从而优化 Python 环境并释放磁盘空间
    在 Python 开发中,Pip 是最常用的包管理工具之一,它用于安装、升级和管理 Python 包。然而,随着时间的推移,Pip 可能会积累大量的缓存文件,占用磁盘空间并可能导致一些问题。因此,定期...
    99+
    2023-08-31
    pip 缓存 python
  • MySQL 5.7如何创建一个表空间
    这期内容当中小编将会给大家带来有关MySQL 5.7如何创建一个表空间,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 MySQL里面的文件蛮有意思,之前大体有两个参数来...
    99+
    2022-10-19
  • 数据库中如何修改表的表空间
    这篇文章主要介绍了数据库中如何修改表的表空间,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。修改表空间后,需要重新生成索引1、查询表空间sel...
    99+
    2022-10-18
  • SQL中如何释放大数据量的lob字段空间
    SQL中如何释放大数据量的lob字段空间,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 SQL> creat...
    99+
    2022-10-19
  • MySQL如何解决delete大量数据后空间不释放的问题
    本篇内容主要讲解“MySQL如何解决delete大量数据后空间不释放的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何解决delete...
    99+
    2022-10-19
  • 如何为Zabbix MySQL设置独立表空间innodb_file_per_table
    如何为Zabbix MySQL设置独立表空间innodb_file_per_table,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所...
    99+
    2022-10-18
  • MySQL如何实现分表优化
    这篇文章将为大家详细讲解有关MySQL如何实现分表优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   这里的分表逻辑是根据t_group表的user_nam...
    99+
    2022-10-19
  • MySQL中如何清空表数据
    目录MySQL清空表数据清空表数据一共有三种方式MySQL清空表数据命令:truncateMySQL删除表命令:dropMySQL清空数据表内容的语法:deleteMysq...
    99+
    2023-03-13
    MySQL清空表数据 MySQL清空数据 MySQL数据清空
  • 数据库中如何更改表空间
    这篇文章主要介绍了数据库中如何更改表空间,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。SQL> alter tablespace CS...
    99+
    2022-10-18
  • 如何实现MySQL中优化表的语句?
    《MySQL优化表的语句及具体代码示例》在日常的数据库管理中,优化MySQL表的性能是非常重要的。通过优化表的语句,可以提高查询和更新的速度,减少资源的占用,提高系统的性能。本文将介绍如何通过具体的代码示例来优化MySQL表的性能。优化表结...
    99+
    2023-11-08
    实现 (Implement) MySQL (MySQL) 优化表 (Optimize)
  • MYSQL:如何清空表中的数据
    方法2 truncate from 表名; 比 较: 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。 效率上truncate比delete快...
    99+
    2015-01-29
    MYSQL:如何清空表中的数据
  • word表格里的字如何放在中间
    本文小编为大家详细介绍“word表格里的字如何放在中间”,内容详细,步骤清晰,细节处理妥当,希望这篇“word表格里的字如何放在中间”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先打开word,然后去调整表格中...
    99+
    2023-07-02
  • MySQL数据库如何查看表占用空间大小
    目录前言1、切换数据库2、查看所有数据库容量大小3、查看指定数据库使用大小4、查看表使用大小5、查看所有数据库容量大小6、查看所有数据库各表容量大小7、查看指定数据库容量大小8、查看指定数据库各表容量大小总结前言 Cen...
    99+
    2022-06-13
    mysql查询表占用空间大小 mysql查看表空间大小 mysql查看占用内存大小
  • mysql如何实现查表空间大小的SQL语句
    这篇文章将为大家详细讲解有关mysql如何实现查表空间大小的SQL语句,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 SQL语句如下:sele...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作