When you want to remove a big chunk of data from a very large database table, you may have noticed that the size of the table stays more ore less the same after the remove operation (e.g. a delete from XYZ where creation_date < date_in_the_past).
Even a “optimize table” command won’t help.
This has to do with some internam mysql database stuff.

A nice trick is to duplicate the whole database (or just the specific large table) based on an mysql dump/export (after the cleanup up/deletion of unwanted data. Afterwards you could rename the database or table back to the original database or table.