Mysql – Database size and cycle

database-sizeMySQL

I am developing a desktop application and it will include clients, bills, banks, incomes&outgoings etc,

I am using mysql and delphi,

My question is do i have to cycle (create new tables and transfer needed data from old tables to new tables for new year) every year because i think database will have data for a year and it will adventually get slow, is there a way/is it possible to continue without cycle but without database get slow?

I want to do this because i want user be able to find/see client cards and bills of old years too

Thanks

Best Answer

With rare exceptions, do not create identical tables split by year or month or customer or whatever. If a table is getting slower as it gets bigger, then you don't have the right indexes and/or you need to redesign the queries. Even a billion rows in a table is not 'unmanageable'.

Clients, bills, banks, transactions -- sounds like about 4 tables, plus some tables for Normalization. A bill might contain a client_id column, but not the client's name, address, etc.