I don’t know how common is this problem, but it is good to know
from time to time about which tables how many storage space
needed in certain time. For example, you can catch an amok
running software part which writes your database full. Or, – as
you will see soo – you can catch up some code what doesn’t work
as excepted.
So, lets start at the beginning. You wanna to know how big are
your tables, and you need to know how many data gets there
day-by-day (or minute-by-minute. or whatever).
You can query information_schema.tables for table sizes, this is
good, but you won’t be happy just with these results, because you
won’t find any time based changes, so you have to store the data.
So first, we have to create a table to store this historical
data:
CREATE TABLE `test`.`table_sizes` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE …
[Read more]