A problem is that those statistics are stored in one file (per database; it used to be one file per cluster). With 8 million tables, that is going to be a pretty big file. But the code pretty much assumes the file is going to be pretty small, and so it has no compunction about commanding that it be read and written, in its entirety, quite often.