repair table 里的行数问题

zuoxingyu 2011-09-27 10:38:33

mysql> repair table T;
+------------+--------+----------+--------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------+--------+----------+--------------------------------------------+
| ng.T | repair | warning | Number of rows changed from 30441 to 30439 |
| ng.T | repair | status | OK |
+------------+--------+----------+--------------------------------------------+
2 rows in set (56 min 0.39 sec)


T表损坏了,修复后的信息如上,我想知道的是,30441 to 30439 这2个数字什么意思?是丢失2条记录么?
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuoxingyu 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwb 的回复:]
估计是原来表有30441行,修复后30439行,少了2条记(估计受损,无法恢复)
[/Quote]


mysql> select count(*) from T ;
+----------+
| count(*) |
+----------+
| 11041361 |
+----------+
1 row in set (0.01 sec)

表记录又1000多W。
wwwwb 2011-09-27
  • 打赏
  • 举报
回复
估计是原来表有30441行,修复后30439行,少了2条记(估计受损,无法恢复)
zuoxingyu 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]
修复前,统计结果表示表中有30441 条记录,修复后为30439
[/Quote]

我在网上搜了下信息,有些是from 0 to 2,有些是from 2 to 0,有些是我这样的。
版主说的这个统计结果如果是精确的话,那么就是说修复后,记录少了2条了?
repair修复存在丢失记录的情况,但是应该很少很少发生,要么大家就不敢用这个命令了。
ACMAIN_CHM 2011-09-27
  • 打赏
  • 举报
回复
修复前,统计结果表示表中有30441 条记录,修复后为30439

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧