I am running a Microsoft Jet OleDB database for one of my programs. The problem I thought that I might run into was very slow load times when querying the database for certain values, if the database grows very large in size. The database in question will grow indefinitely, as I am using it to log events. As time went on, the database could easily reach 1,000 records, and would grow from there. My question is, how do I prevent users of my program from complaining from the possible slow load times that may result? Are the slow load times even going to happen? And if so, what are my alternatives?
1,000 records is not a bid database and search shouldnt be too bad subject to exactly the complexity of the search terms. Normal methodology of dealing with large databases is to periodically archive older information into a seperate table and if end users are to be able to view these older records then conditionally include it if appropriate but exclude it from the query when not necessary
Interesting. About how many records would it take to see a noticeable performance decrease? As I said, these records will just continue to grow in size. So it is really a matter of time, not if it happens. Also, I have divided my results into 3 tables just for organization- which for speed reasons, has proven to be a good move. I really only need to worry about one table in question
The impact is incrimental (sp) and so there isnt a single point when a database goes from acceptable speed to far too slow. It is also heavily dependant on things such as data types, search terms, if full text indexing is being used, if change notification is being used etc. Add to all of that of cause the capabilities of the server(s) that are hosting the database. As there are so many variables I wouldnt even want to put even a ball park figure on it.