I am working on a project that sends bills out to hundreds of thousands (if not millions) of customers each month. A lot of the data needs to be manipulated, with interest and whatnot dynamically calculated on the fly through an internal API.
Right now I have the process which works in chunks of 2,500 bills at a time and writes out an XML file containing all of the data when each range completes. I then use Crystal Reports to report on that data, which takes several minutes. I am looking for a better way to report of this data and need some advice.
Is Crystal just slow at parsing XML? I tried throwing Crystal an in-memory data set, but it seems that once I go over 500 records or so, the XML route is actually more efficient. Should I write the data out to our SQL database and report on it that way using index optimizations? Or am I missing an alternate approach that would be much faster?