首页 > 数据库 >Mysql用optimize table 优化

Mysql用optimize table 优化

时间:2024-09-14 16:51:09浏览次数:9  
标签:optimize length 引擎 Mysql table your schema

一、optimize table会重组表和索引数据,磁盘空间被回收:

1、创建临时表:与原表结构相同;
2、复制数据:将原表数据复制到临时表中;
3、优化数表:复制时,MySQL会重新整理和重组数据,去除碎片,提高数据连续性;
4、重命名表:将临时表重命名为原表。

optimize table your_table;

二、查看表占用情况:

1、Name:表名称
2、Engine:表的存储引擎
3、Version :版本
4、Row_format:行格式。对于MyISAM引擎,这可能是Dynamic,Fixed或Compressed。动态行的行长度可变,例如Varchar或Blob类型字段。固定行是指行长度不变,例如Char和Integer类型字段。
5、Rows :表中的行数。对于非事务性表,这个值是精确的,对于事务性引擎,这个值通常是估算的。
6、Avg_row_length :平均每行包括的字节数
7、Data_length :整个表的数据量(单位:字节)
8、Max_data_length :表可以容纳的最大数据量
9、Index_length :索引占用磁盘的空间大小
10、Data_free :对于MyISAM引擎,标识已分配,但现在未使用的空间,并且包含了已被删除行的空间。
11、Auto_increment :下一个Auto_increment的值
12、Create_time :表的创建时间
13、Update_time :表的最近更新时间
14、Check_time :使用 check table 或myisamchk工具检查表的最近时间
15、Collation :表的默认字符集和字符排序规则
16、Checksum :如果启用,则对整个表的内容计算时的校验和
17、Create_options :指表创建时的其他所有选项
18、Comment :包含了其他额外信息,对于MyISAM引擎,包含了注释徐标新,如果表使用的是innodb引擎 ,将现实表的剩余空间。如果是一个视图,注释里面包含了VIEW字样。

show table status from your_db like 'your_table'
SELECT table_name, round(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.tables
WHERE table_schema = "your_db"
  AND table_name = "your_table";


SELECT SUM(DATA_LENGTH + INDEX_LENGTH)
FROM information_schema.tables
WHERE table_schema = "your_db"
  AND table_name = "your_table";

 

information_schema在mysql8.0之后有缓存,数据不是最新的,可以通过以下获取最新的统计数据

ANALYZE TABLE `your_table`;

 

标签:optimize,length,引擎,Mysql,table,your,schema
From: https://www.cnblogs.com/sanday/p/18414338

相关文章

  • mysql mha 高可用集群
    一、MHA介绍注意:阅读本文需要有一定的mysql基础知识和主从集群知识MHA(mysqlHighAvailability)是一款开源的MySQL的高可用程序,由perl语言编写,它为MySQL主从复制架构提供了自动化主故障转移功能。在MySQL故障切换过程中,MHA能做到在0~30秒内自动完成数据库的故障切换操作,并且能......
  • MySQL存储引擎:InnoDB与MyISAM
    InnoDB和MyISAM是MySQL数据库中两种常用的存储引擎,它们在数据存储结构、事务支持、锁的支持、外键支持、性能等方面存在显著的差异。下面将详细介绍这两种存储引擎的特点和优势。什么是存储引擎​MySQL中的数据用各种不同的技术存储在文件(或者内存)中。每一种技术都使......
  • 并发编程 (TransmittableThreadLocal)
    TransmittableThreadLocal的使用及原理解析一、基本使用首先,TTL是用来解决ITL解决不了的问题而诞生的,所以TTL一定是支持父线程的本地变量传递给子线程这种基本操作的,ITL也可以做到,但是前面有讲过,ITL在线程池的模式下,就没办法再正确传递了,所以TTL做出的改进就是即便是在线程池模......
  • rocky linux mysql8.4主从环境搭建以及数据库备份全过程
    准备工作切换到root账户ubuntu系统执行sudo-i切换到root方便操作查看系统是否支持glibc2.28因为安装的版本比较新需要新版glic2.28redhat、centos系列使用以下命令strings/lib64/libc.so.6|grepGLIBC_2.281有输出版本号证明支持debian、ubuntu系列使用以下命令s......
  • MySQL字符集的转换
    背景介绍在使用MySQL过程中,如果字符集配置不当,可能会出现插入失败、数据乱码、索引失效、数据丢失、查询不到期望结果等一系列使用异常的情况。因此,熟练掌握MySQL字符集和比较规则的配置方法,并在此基础上了解MySQL字符集与比较规则的核心逻辑,才能从源码和实现层面上理解,为......
  • 一篇文章教会使用MySQL数据库
    1.MySQL的命令1.1操作数据库1.1.1mysql服务的启动和停止netstopmysqlnetstartmysql1.1.2增加新用户grant权限on数据库.*to用户名@登录主机identifiedby“密码”权限:select,insert,update,delete数据库:数据名后面的.的星星可以指定表登录主机:......
  • MySQL 误操作 误修改 binlog 还原恢复实战 超详细
    硬盘有价,数据无价,数据库执行,谨慎操作!binlog日志还原不适用于直接删表删库的误操作!目录实战恢复1、导出相关时间binlog数据2、找到对应语句以及pos区间3、导出改动区间的sql4、将binlog导出的sql转换为逆向修复sql        1、从上面binlog日志可以看出  开头......
  • 基于php+mysql开发制作的全景在线制作网站源码系统 附带完整的安装代码包以及搭建部署
    系统概述本系统是一款集全景图片上传、编辑、展示于一体的综合性解决方案。采用PHP作为后端开发语言,结合MySQL数据库的强大功能,实现了高效稳定的数据处理与存储。前端则运用了HTML5、CSS3及JavaScript等现代Web技术,确保跨浏览器兼容性和良好的用户体验。通过简洁明了的操作界......
  • java毕业设计——基于java+ssh+jsp+MySqL的大学生就业信息管理系统设计与实现(毕业论文
    基于java+ssh+jsp+MySqL的大学生就业信息管理系统设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于java+ssh+jsp+MySqL的大学生就业信息管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进......
  • MYSQL中 IF() IFNULL() NULLIF() ISNULL() 函数的使用
    IF()函数的使用IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false,则返回expr3的值。SELECTIF(TRUE,'A','B');--输出结果:ASELECTIF(FALSE,'A','B');--输出结果:BIFNULL()函数的使用IFNULL(expr1,expr2),如果expr1的值为null,则返回......