MyISAM optimize table wrongly reporting "status ok"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
New
|
Undecided
|
Unassigned |
Bug Description
We've table taking up a lot of disk:
===
-rw-rw---- 1 mysql mysql 8.9K 2011-05-06 21:23 table.frm
-rw-rw---- 1 mysql mysql 4.2G 2011-11-02 10:53 table.MYD
-rw-rw---- 1 mysql mysql 43K 2011-11-02 10:53 table.MYI
===
It should be tiny though, since there is almost no data in it:
===
MariaDB [database]> select count(*) from table;
+----------+
| count(*) |
+----------+
| 155 |
+----------+
1 row in set (0.00 sec)
MariaDB [database]>
===
So we tried to optimize it:
===
MariaDB [database]> optimize table table;
+------
| Table | Op | Msg_type | Msg_text |
+------
| database.table | optimize | error | myisam_
| database.table | optimize | status | OK |
+------
2 rows in set (5.56 sec)
MariaDB [database]> optimize table table;
+------
| Table | Op | Msg_type | Msg_text |
+------
| database.table | optimize | status | Table is already up to date |
+------
1 row in set (0.00 sec)
MariaDB [database]>
===
It's still taking the same diskspace though, so optimization seems to have failed. Running an "alter table table engine=MyISAM" does result in a rebuilt taking a lot less space (although still more than expected). The real bug here would be the optimize table not actually executing, and marking the table as optimized I presume.
Hi Dreas,
Do you still have this problem?
If so, could you please provide the table structure (to start with)?
Thank you