i have a database with client data, all client data is stored into a single table and are uniquely identified by a client code normalised into another table, eventually we will have 100+ clients all in the same table, each year the client data for every client will double, 1000+ rows of data a year per client.
what are the pros and cons of dividing each client into there own table and querying them by tablename instead of by client code, and will 100+ tables be unmanageable, and considering how much data we will eventually have is it even necessary to change anything ?
This is an odd question, but really I don’t think you have anything to worry about, keep your database normalized (which you said you already do).
Leave it all in one table, it is a database, let it grow, don’t worry that it will be 10k rows after 2-3 years.
I have dealt with large mysql/mssql installs and they work just fine on single servers with millions of records.
So no, don’t break customers up into tables, it creates a management nightmare, stick to one, make it normalized and leave it be unless you run into problems.
EDIT
As you are still concerned, here is a direct copy from MYSQL:
http://dev.mysql.com/doc/refman/5.5/en/features.html