I have a situation with my software where I need to run every investor through watch list to see if the investor shows up on any of the watch lists. The watch lists are provide by a third party company whose software sits on my production server. The problem is the searching is rather slow. It takes about 6 seconds to search 500 names and it's not uncommon for one page of the web application to have a list of 500 investors.
My idea is to create windows service that runs once a week during off hours and runs all of the investors through the watch lists and stores the results in my software's database. I am banking on the fact that our software will never have over 2 million investors and if we were to reach 2 million investors it would take approximately 9 hours for this service to complete. My question is, is this a feasible solution or will it consume too many resources for too long? I'm not too familiar with windows service programming so I'm not sure if writing such a program will cause the server's cpu to seriously lag.