The number of tables is limited only by the number of indexes or physical disk space.
Not knowing more about what you are doing, although it is difficult to give an excellent opinion. Generally, I would say that a table of 1,000,000 rows is not a big deal for MySQL if you have the appropriate indexes. IMHO, that a better solution than having a table for each user (the system can do this, but I think it ends with a maintenance nightmare).
Why do you need 250 kbps per table? What do you keep on each line so big? Consider splitting this data into other tables.
In general, a good database design puts data categories in tables, rather than using tables as rows.
Cfreak
source share