Different MySQL index sizes after restore I've been trying to create a backup for a very large MyISAM DB with mysqldump and I've noticed that some of the tables have variations in index sizes after restoring.

For example, one of my larger tables has an index length of 50316242944 and the restored dump of that table has an index length of 50227628032

I've run optimize table and have done a checksum and everything seems to be fine. I've even run ALTER TABLE generic_dummy_table_name ORDER BY datetime; which I found on a similar question on this site.

Could someone explain to me why there is such a large difference in index length between my tables and if there is an easy way to fix it?
Random insert into or delete from a secondary index can cause the index fragmentation. Basically it will use extra space than required. There are several ways to reclaim this space. One of the way to reclaim space is, taking mysqldump and restoring it. This helps to reclaim the space. 

As far as the restoration completed without any error this should be fine and you don't need to worry. 

For more information on fragmentation you can refer to below link.
https://dev.mysql.com/doc/refman/5.6/en/innodb-file-defragmenting.html
https://dev.mysql.com/doc/refman/5.6/en/myisam-optimization.html