- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的一个表的文件大小(.MYD 文件)增加了大约 100%。如果我查看数据,就会发现过去几天的每日负载正常。是什么导致文件大小增加?
myisamchk
根据用户的建议,我尝试了sudo myisamchk -r tablename
。此操作的结果是“修复索引 1”“修复索引 2”...以及完全相同的文件大小。
编辑:第二次运行命令后,文件大小减小到正常(一半)大小。
最佳答案
@e4c5 给出了最有可能的答案。他要求您删除已删除的行。 MySQL 不会回收已删除行的空间。随着越来越多的行被删除,您的 .MYD 变得越大。回收空间的唯一方法是重建 .MYD - 通过重新创建表、使用优化表命令或运行 myisamchk -r。
以下命令将重建表。
optimize table $table_name;
myisamchk -r 命令行方法也有效 - 但请确保表已锁定以防止用户访问它(否则您将面临丢失数据的真正风险)。运行 myisamchk Repair 后,请务必在再次使用表之前刷新表,否则 MySQL 将检测到表已更改并对其运行不必要的检查。在这三种方法中,myisamchk -r 最容易丢失数据(但仍然是我的首选方法 - 您只需小心并做好最坏的准备)。
关于mysql - MyISAM 文件大小已增加(加倍),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697587/
我有一个包含 21 个表的 mysql 数据库,所有表都有关系设置,我在 phpMyAdmin 中与设计师一起制作了它们。我很困惑,因为 MyISAM 不支持关系。除非有我找不到的更新。 是否有更新使
我有一个包含 MyISAM 和 InnoDB 表的 MyISAM 数据库,我想将此数据库迁移到另一台服务器,对于 MyISAM,只需复制 .frm .MYI 和 .MYD 即可,但对于 InnoDB
一:MySQL中MyISAM表损坏原因总结: 1、 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被杀掉。 2、 磁盘损坏。 3、 服务器死机。
我必须维护一个使用 MyISAM 引擎的 MySQL 数据库。现在数据库太大,每天备份占用空间很大。 我从数据库中删除了数百万条记录,但数据库大小没有减少,备份文件大小更大。 我应该使用 OPTIMI
我正在测试 innoDB 表中的事务支持,出于好奇,我尝试在 MyIsam 表上运行相同的事务,令人惊讶的是它成功了。我假设在 myIsam 表上查询是一个接一个地执行,而不是在一个原子操作中执行,并
各位 我需要从表A(大约6000万条记录和myisam存储引擎)生成一个报告。表 A 每 15 分钟转储一次 cdr 文件。 我想根据(日期至)和(日期自)生成报告 我尝试过的几个场景如下 1)我尝试
我在 Windows Server 2008(具有 4GB RAM)上使用 MySQL 5.1,并具有以下配置: 我有 2 个 MyISAM 表。其中一个位于 1 个数据库 (DB1) 中,有 14
我试图在 MariaDB10.0.14 上执行基准测试,以使用多个线程读取 MyISAM 表上的数据,但我不断收到与主键重复条目有关的异常。 MyISAM支持多线程读取吗?我使用sysbench进行基
我有一台具有 4GB RAM 和 400MB Mysql 数据库 (Myisam) 的单处理器专用服务器,该服务器存在很大的性能问题。该数据库由电子商务使用。我已经尝试使用 mysqltuner 脚本
多线程如何与 MyISAM 配合使用。因为它支持表级锁定?如果我们要求从同一张表中选择。线程在这种情况下如何工作 最佳答案 单独的连接获得单独的线程。单个连接不会使用多个线程。 (MyISAM 和 I
我有以下 2 个相同的表,使用 MySQL: DROP TABLE IF EXISTS `DB`.`tblNew`; CREATE TABLE `DB`.`tblNew` ( `NumberPK`
我可能忽略了一些简单的事情,但几周来我一直在试图了解这里出了什么问题,我需要一双新的眼睛。 我有一个处理 Paypal 付款通知的 CGI 应用程序。当有人订阅时,我实际上会获得一个订阅 IPN,然后
表不断崩溃错误 126 (HY000):表 './DB/Table.MYI' 的 key 文件不正确;尝试修复它 它确实通过修复表修复了,但问题再次出现!而且它的 5G 表需要约 45 分钟才能修复。
我可以使用在 MySQL 5.1.30 上运行的 MyISAM 表创建表空间吗? 最佳答案 表空间(在 MySQL 5.1 中)仅支持 NDB 和 NDBCLUSTER,参见 http://dev.m
基本上,我有一个 lang 表,其中包含 pg VARCHAR(20),id VARCHAR(20),en ( TEXT),ru (TEXT) 用于我的网站的多语言支持,在 99.999% 的情况下,
我的在线拍卖网站已经运行了近 3 年,并且仍然运行良好。三年内,如此多的拍卖已在服务器上列出并完成。但现在有很多负载在服务器上,因为数据库服务器上有很多已完成的现场拍卖。因此网站的性能不再是以前的样子
在 Mysql(5.7 及以上版本)中,用于表的更改跟踪,this approach实现起来非常简单。 但它需要版本表是 MyISAM,它执行表级锁定。 这种方法对于每秒发生多次插入/更新的生产系统是
假设我在 MyISAM 表上进行了一些操作(让它成为 INSERT),并附加了触发器。 我知道 MySQL 在运行此 INSERT 时会执行隐式表锁定。 问题:触发器会在这个隐式锁内部运行吗?触发器中
我有两个表,t1 和 t2,每个表有两列 - id_user 和 age。 如何将 t1.age 更新为 t1.age 和 t2.age 中的最大值以匹配 ID,并保留 t1.age 如果 t2 中没
我有一张测试表。测试表如下: CREATE TABLE `mytest` ( `num1` int(10) unsigned NOT NULL, KEY `key1` (`num1`) )
我是一名优秀的程序员,十分优秀!