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'sname
,address
, etc.