The Optimize table command defragments, reclaims free space and makes concurrent inserts wrk again. For MyISAM table, optimize table command performs the following tasks:
- Repaire the table if the table has deleted or split rows. This, in trun, help defragment and reclaim free spaces.
- Sort index pages if it is needed.
- Update the table’s statistics.
- Data_length is the length of the data file.
- Data_free is the the number of allocated but unused byte. These included those deleted records.
mysql> show table status like '%table_name%' \G;
*************************** 1. row ***************************
Name: table_name
Engine: MyISAMVersion: 10
Row_format: Dynamic
Rows: 1473839
Avg_row_length: 186
Data_length: 420392440
Max_data_length: 281474976710655
Index_length: 52712448
Data_free: 145156624
Auto_increment: NULL
Create_time: 2010-05-18 18:35:16
Update_time: 2010-05-20 13:44:47
Check_time: 2010-05-20 02:21:54
Collation: latin1_swedish_ci
Checksum: NULL
Create_options: delay_key_write=1
Comment:
mysql> optimize table table_name;
+--------------------------------+----------+----------+----------+
Table Op Msg_type Msg_text
+--------------------------------+----------+----------+----------+
dwstgdb.table_name optimize status OK
+--------------------------------+----------+----------+----------+
1 row in set (50.08 sec)
mysql> show table status like '%table_name%' \G;
*************************** 1. row ***************************
Name: table_name
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 1473839
Avg_row_length: 186
Data_length: 275235816
Max_data_length: 281474976710655
Index_length: 30075904
Data_free: 0
Auto_increment: NULL
Create_time: 2010-05-18 18:35:16
Update_time: 2010-05-21 00:33:58
Check_time: 2010-05-21 00:34:14
Collation: latin1_swedish_ci
Checksum: NULL
Create_options: delay_key_write=1
Comment:
Now we can see that the data_free value down to 0 from 145156624 after performing optimize table. This will indeed deframent the table and speep up the queries. In general, optimize table command should be performed on a reqular basis.
Referemces:
No comments:
Post a Comment